beckhoff-xts-viewer-3d 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -7
- package/dist/index.d.ts +28 -7
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/docs/screenshots/02-standard-at.webp +0 -0
- package/docs/screenshots/06-hepco-gfx.webp +0 -0
- package/docs/screenshots/07-materials-closeup.webp +0 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
'use strict';var U5=require('react'),postprocessing=require('@react-three/postprocessing'),jsxRuntime=require('react/jsx-runtime'),fiber=require('@react-three/fiber'),three=require('three'),drei=require('@react-three/drei'),SkeletonUtils_js=require('three/examples/jsm/utils/SkeletonUtils.js'),threeStdlib=require('three-stdlib'),RoomEnvironment_js=require('three/examples/jsm/environments/RoomEnvironment.js'),BufferGeometryUtils_js=require('three/examples/jsm/utils/BufferGeometryUtils.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var U5__default=/*#__PURE__*/_interopDefault(U5);var v9=Object.defineProperty;var s=(e,t)=>v9(e,"name",{value:t,configurable:true});var Ee=(e,t)=>()=>(e&&(t=e(e=0)),t);var ft=(e,t)=>{for(var o in t)v9(e,o,{get:t[o],enumerable:true});};function I2(e,t){return e??{error:t}}function k2(e){if(e)throw e.error}var C3=Ee(()=>{s(I2,"keepFirstFailure");s(k2,"rethrowCaptured");});function S3(e,t){e.add(t);let o=false;return ()=>{o||(o=true,e.delete(t));}}function z5(e,t){let o=null;for(let r of e)try{t(r);}catch(n){o=I2(o,n);}k2(o);}function j5(e){let t=null;for(let o=e.length-1;o>=0;o--)try{e[o]();}catch(r){t=I2(t,r);}k2(t);}function N5(e,t){let o=[];try{z5(e,r=>{let n=t(r);n&&o.push(n);});}catch(r){throw j5(o),r}return ()=>j5(o)}function p1(){return U5__default.default.useContext(O3)}var qe,O3,L1=Ee(()=>{C3();s(S3,"addTo");s(z5,"runAll");s(j5,"runUndos");s(N5,"applyWithUndo");qe=class{static{s(this,"CaptureRegistry");}transforms=new Set;cameraDependents=new Set;prepares=new Set;postProcessingChains=0;registerTransform(t){return S3(this.transforms,t)}registerCameraDependent(t){return S3(this.cameraDependents,t)}registerPrepare(t){return S3(this.prepares,t)}registerPostProcessing(){this.postProcessingChains++;let t=false;return ()=>{t||(t=true,this.postProcessingChains=Math.max(0,this.postProcessingChains-1));}}get postProcessingActive(){return this.postProcessingChains>0}sessions=0;get capturing(){return this.sessions>0}beginSession(){this.sessions++;}endSession(){this.sessions=Math.max(0,this.sessions-1);}flushTransforms(){z5(this.transforms,t=>t());}applyCameraDependents(t){return N5(this.cameraDependents,o=>o(t))}applyPrepares(){return N5(this.prepares,t=>t())}},O3=U5__default.default.createContext(null);s(p1,"useCaptureRegistry");});function l0(e){return typeof e!="number"||!Number.isFinite(e)||e<0?2:Math.floor(e)}var p7,j3=Ee(()=>{p7=2;s(l0,"resolveMultisampling");});var d7={};ft(d7,{DEFAULT_MULTISAMPLING:()=>p7,PostProcessingEffects:()=>Nr,resolveMultisampling:()=>l0});var Hr,jr,Nr,f7=Ee(()=>{j3();L1();j3();Hr=s(({intensity:e,radius:t})=>jsxRuntime.jsx(postprocessing.N8AO,{aoRadius:t,intensity:e,halfRes:true,distanceFalloff:.5}),"SsaoEffect"),jr=s(({intensity:e,threshold:t,radius:o})=>jsxRuntime.jsx(postprocessing.Bloom,{intensity:e,luminanceThreshold:t,luminanceSmoothing:o,mipmapBlur:true}),"BloomEffect"),Nr=s(({ssao:e=false,ssaoIntensity:t=1,ssaoRadius:o=20,bloom:r=false,bloomIntensity:n=.4,bloomThreshold:i=.85,bloomRadius:a=.4,multisampling:l})=>{let c=p1(),m=e||r;U5.useEffect(()=>{if(m)return c?.registerPostProcessing()},[c,m]);let u=[];return e&&u.push(jsxRuntime.jsx(Hr,{intensity:t,radius:o},"ssao")),r&&u.push(jsxRuntime.jsx(jr,{intensity:n,threshold:i,radius:a},"bloom")),u.length===0?null:jsxRuntime.jsx(postprocessing.EffectComposer,{multisampling:l0(l),children:u})},"PostProcessingEffects");});var H0="6.0.0";var A9="3.0.0";var j0=`https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d-assets@${A9}/models`;var z=class extends Error{static{s(this,"XtsViewerErrorException");}code;details;constructor(t,o,r){super(o),this.name="XtsViewerError",this.code=t,this.details=r;}};var c1=s((e,t)=>({moduleType:e,moduleLengthMm:t,pathType:"Straight",endAngleDeg:0,centerlineRadiusMm:null}),"STRAIGHT"),C1=s((e,t,o=250)=>({moduleType:e,moduleLengthMm:o,pathType:"Curve",endAngleDeg:t,centerlineRadiusMm:o/Math.abs(t*Math.PI/180)}),"CURVE"),P9=s((e,t)=>({moduleType:e,moduleLengthMm:500,pathType:"Free",endAngleDeg:180,centerlineRadiusMm:null,freePathId:t}),"FREE_180"),Ie=Object.freeze({AT2000_0250:c1("AT2000_0250",250),AT2001_0250:{...c1("AT2001_0250",250),isInfeed:true},AT2002_0250:{...c1("AT2002_0250",250),isInfeed:true},AT2002_0249:{...c1("AT2002_0249",249),isInfeed:true},AT2000_0233:c1("AT2000_0233",233),AT2000_0249:c1("AT2000_0249",249),AT2100_0250:c1("AT2100_0250",250),AT2102_0250:{...c1("AT2102_0250",250),isInfeed:true},AT2020_0250:C1("AT2020_0250",22.5),AT2021_0250:{...C1("AT2021_0250",22.5),isInfeed:true},AT2025_0250:C1("AT2025_0250",-22.5),AT2026_0250:{...C1("AT2026_0250",-22.5),isInfeed:true},AT2040_0250:C1("AT2040_0250",45),AT2041_0250:{...C1("AT2041_0250",45),isInfeed:true},AT2050_0500:{moduleType:"AT2050_0500",moduleLengthMm:250,pathType:"Free",endAngleDeg:90,centerlineRadiusMm:null,freePathId:"AT2050_0500_HALF"},AT2050_0501:{moduleType:"AT2050_0501",moduleLengthMm:250,pathType:"Free",endAngleDeg:90,centerlineRadiusMm:null,freePathId:"AT2050_0501_HALF"},AT2050_0500_180:P9("AT2050_0500_180","AT2050_180_COMBINED"),AT2200_0500:c1("AT2200_0500",500),AT2202_0500:{...c1("AT2202_0500",500),isInfeed:true},ATH2000_0250:c1("ATH2000_0250",250),ATH2001_0250:{...c1("ATH2001_0250",250),isInfeed:true},ATH2002_0250:{...c1("ATH2002_0250",250),isInfeed:true},ATH2020_0250:C1("ATH2020_0250",22.5),ATH2040_0250:C1("ATH2040_0250",45),ATH2041_0250:{...C1("ATH2041_0250",45),isInfeed:true},ATH2042_0250:C1("ATH2042_0250",45),ATH2050_0500:{moduleType:"ATH2050_0500",moduleLengthMm:250,pathType:"Free",endAngleDeg:90,centerlineRadiusMm:null,freePathId:"AT2050_0500_HALF"},ATH2050_0501:{moduleType:"ATH2050_0501",moduleLengthMm:250,pathType:"Free",endAngleDeg:90,centerlineRadiusMm:null,freePathId:"AT2050_0501_HALF"},ATH2050_0500_180:P9("ATH2050_0500_180","AT2050_180_COMBINED")}),N0=Object.freeze(Object.values(Ie).filter(e=>e.isInfeed).map(e=>e.moduleType));function Z1(e){return Ie[e]}s(Z1,"getModuleEntry");function U0(e){return Object.prototype.hasOwnProperty.call(Ie,e)}s(U0,"isKnownModuleType");var z0=Object.freeze({AT9014_0055:{moverType:"AT9014_0055",pathLengthMm:55,heightMm:124.8,magnetPlateCenterMm:[0,0,0]},AT9014_0070:{moverType:"AT9014_0070",pathLengthMm:70,heightMm:125.8,magnetPlateCenterMm:[0,0,0]},ATH9011_0075:{moverType:"ATH9011_0075",pathLengthMm:75,heightMm:112,magnetPlateCenterMm:[0,0,0]},Custom:{moverType:"Custom",pathLengthMm:70,heightMm:125,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_S25:{moverType:"Hepco_GFX2_1TC_S25",pathLengthMm:100,heightMm:86,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_C25:{moverType:"Hepco_GFX2_1TC_C25",pathLengthMm:54,heightMm:106,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_C34:{moverType:"Hepco_GFX2_1TC_C34",pathLengthMm:72,heightMm:106,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_M34:{moverType:"Hepco_GFX2_1TC_M34",pathLengthMm:82,heightMm:106,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_C25:{moverType:"Hepco_GFX2_FCC_C25",pathLengthMm:80,heightMm:99,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M34:{moverType:"Hepco_GFX2_FCC_M34",pathLengthMm:80,heightMm:110,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M34_7P:{moverType:"Hepco_GFX2_FCC_M34_7P",pathLengthMm:89,heightMm:110,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M34_10P:{moverType:"Hepco_GFX2_FCC_M34_10P",pathLengthMm:102,heightMm:110,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M40_10P:{moverType:"Hepco_GFX2_FCC_M40_10P",pathLengthMm:102,heightMm:122,magnetPlateCenterMm:[0,0,0]}}),S9=Object.freeze({AT9014_0055:"AT9001_0550",AT9014_0070:"AT9001_0550",ATH9011_0075:"ATH9001_0550",Hepco_GFX2_1TC_S25:null,Hepco_GFX2_1TC_C25:null,Hepco_GFX2_1TC_C34:null,Hepco_GFX2_1TC_M34:null,Hepco_GFX2_FCC_C25:"AT9001_0550",Hepco_GFX2_FCC_M34:"AT9001_0550",Hepco_GFX2_FCC_M34_7P:"AT9001_0775",Hepco_GFX2_FCC_M34_10P:"AT9001_0AA0",Hepco_GFX2_FCC_M40_10P:"AT9001_0AA0",Custom:null}),O9="AT9001_0550";function V0(e,t){return S9[e]!==null||e==="Custom"?null:t??O9}s(V0,"resolveAttachedPlateType");function b2(e){return z0[e]}s(b2,"getMoverEntry");function X0(e){return Object.prototype.hasOwnProperty.call(z0,e)}s(X0,"isKnownMoverType");var gt=4294967295;function K1(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=gt}s(K1,"isValidUint32");var Mt=[{a:"AT2050_0500",b:"AT2050_0501",merged:"AT2050_0500_180"},{a:"ATH2050_0500",b:"ATH2050_0501",merged:"ATH2050_0500_180"}];function ht(e){for(let t of Mt)if(t.a===e)return t}s(ht,"findHalfPair");function y2(e){if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||e===null||e===void 0)return String(e);try{return JSON.stringify(e)??Object.prototype.toString.call(e)}catch{return Object.prototype.toString.call(e)}}s(y2,"describeValue");function bt(e){let t=[];for(let o=0;o<e.length;o++){let r=e[o],n=ht(r.moduleType),i=e[o+1];if(n&&i&&i.moduleType===n.b){let a={moduleType:n.merged};(r.status||i.status)&&(a.status={warning:!!(r.status?.warning||i.status?.warning),error:!!(r.status?.error||i.status?.error)}),t.push(a),o+=1;continue}if(n&&(!i||i.moduleType!==n.b))throw new z("unmatched-clothoid-half",`${n.a} at index ${o} is not followed by ${n.b}.`,{index:o,moduleType:n.a});if(r.moduleType==="AT2050_0501"||r.moduleType==="ATH2050_0501")throw new z("unmatched-clothoid-half",`Lone ${r.moduleType} at index ${o} (must follow its ..._0500 partner).`,{index:o,moduleType:r.moduleType});t.push(r);}return t}s(bt,"mergeHalves");function yt(e){let t=[];e.modules.length===0&&t.push({code:"empty-part",message:`Part #${e.globalNumber} has no modules.`,details:{partOid:e.globalNumber}});for(let o=0;o<e.modules.length;o++){let r=e.modules[o];if(!U0(r.moduleType))throw new z("unknown-module-type",`Unknown moduleType ${y2(r.moduleType)} in part #${e.globalNumber} index ${o}`,{partOid:e.globalNumber,index:o,moduleType:r.moduleType})}return t}s(yt,"validatePart");function Tt(e,t,o){let r=[],n=new Map,i=[];for(let a of e.movers){if(!t.get(a.partOid)){r.push({code:"mover-orphan",message:`Mover ${a.id} references partOid=${a.partOid} which is not in XPU ${e.objectId}; mover skipped.`,details:{mover:a,xpuObjectId:e.objectId}});continue}if(a.id===void 0||a.id===null){r.push({code:"mover-missing-id",message:`Mover at index=${a.index} in XPU ${e.objectId} is missing required field 'id'.`,details:{mover:a,xpuObjectId:e.objectId}});continue}if(!K1(a.id)){r.push({code:"mover-invalid-id",message:`Mover id=${String(a.id)} (XPU ${e.objectId}) is invalid (must be a non-negative integer \u2264 2^32-1).`,details:{mover:a,xpuObjectId:e.objectId}});continue}if(n.has(a.id)){r.push({code:"mover-duplicate-id",message:`Duplicate mover.id=${a.id} in XPU ${e.objectId}; later definition wins.`,details:{id:a.id,xpuObjectId:e.objectId}});let m=n.get(a.id);i[m]=R9(a,o.get(a.partOid)??0,r);continue}let c=o.get(a.partOid)??0;i.push(R9(a,c,r)),n.set(a.id,i.length-1);}return {movers:i,warnings:r}}s(Tt,"validateMovers");function R9(e,t,o){let r=e.partPositionMm;return Number.isFinite(r)||(r=0),r<0?(o.push({code:"mover-out-of-range",message:`Mover ${e.id} partPositionMm=${r} clamped to 0.`,details:{mover:e,original:e.partPositionMm}}),r=0):r>t&&(o.push({code:"mover-out-of-range",message:`Mover ${e.id} partPositionMm=${r} clamped to trackLength=${t}.`,details:{mover:e,original:e.partPositionMm,trackLengthMm:t}}),r=t),{...e,partPositionMm:r}}s(R9,"clampMover");function Ct(e){let t=0;for(let o of e)t+=Z1(o.moduleType)?.moduleLengthMm??0;return t}s(Ct,"trackLengthAfterMerge");var W0=class{static{s(this,"XtsConfigNormalizer");}normalize(t){return E9(t)}clearCache(){}};function Z0(e){return E9(e)}s(Z0,"normalizeXtsConfig");function E9(e){let t=[],o=[],r=new Map,n=new Map,i=new Map,a=new Map;for(let l=0;l<e.processingUnits.length;l++){let c=e.processingUnits[l],m=c.objectId;if(m==null)t.push({code:"missing-xpu-object-id",message:`XPU at position ${l} is missing required field 'objectId'.`,details:{xpuPosition:l}});else if(!K1(m))t.push({code:"invalid-xpu-object-id",message:`XPU at position ${l} has invalid objectId=${y2(m)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuPosition:l,objectId:m}});else {let p=r.get(m);p?t.push({code:"duplicate-xpu-object-id",message:`Duplicate XPU.objectId=${m} (first at position ${p.xpuPosition}, again at position ${l}).`,details:{objectId:m,first:p,second:{xpuPosition:l}}}):r.set(m,{xpuPosition:l});}let u=K1(m)?m:l;for(let p=0;p<c.parts.length;p++){let d=c.parts[p],f=d.objectId;if(f==null)t.push({code:"missing-part-object-id",message:`Part #${d.globalNumber} (XPU ${u}, position ${p}) is missing required field 'objectId'.`,details:{xpuObjectId:u,partPosition:p}});else if(!K1(f))t.push({code:"invalid-part-object-id",message:`Part #${d.globalNumber} (XPU ${u}, position ${p}) has invalid objectId=${y2(f)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuObjectId:u,partPosition:p,objectId:f}});else {let h=n.get(f);h?t.push({code:"duplicate-part-object-id",message:`Duplicate Part.objectId=${f} (first at XPU ${h.xpuObjectId} part ${h.partPosition}, again at XPU ${u} part ${p}).`,details:{objectId:f,first:h,second:{xpuObjectId:u,partPosition:p}}}):n.set(f,{xpuObjectId:u,partPosition:p});}let M=d.globalNumber;if(M==null)t.push({code:"missing-part-global-number",message:`Part (XPU ${u}, position ${p}) is missing required field 'globalNumber'.`,details:{xpuObjectId:u,partPosition:p}});else if(!K1(M))t.push({code:"invalid-part-global-number",message:`Part (XPU ${u}, position ${p}) has invalid globalNumber=${y2(M)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuObjectId:u,partPosition:p,globalNumber:M}});else {let h=i.get(M);h?t.push({code:"duplicate-part-global-number",message:`Duplicate Part.globalNumber=${M} (first at XPU ${h.xpuObjectId} part ${h.partPosition}, again at XPU ${u} part ${p}). Movers, stations, areas and the heatmap all address parts by globalNumber, so the two parts will cross-wire.`,details:{globalNumber:M,first:h,second:{xpuObjectId:u,partPosition:p}}}):i.set(M,{xpuObjectId:u,partPosition:p});}let g=K1(f)?f:p;for(let h=0;h<d.modules.length;h++){let y=d.modules[h],v=y.globalNumber;if(v==null)t.push({code:"missing-module-global-number",message:`Module '${y.moduleType}' (XPU ${u}, part ${g}, index ${h}) is missing required field 'globalNumber'.`,details:{xpuObjectId:u,partObjectId:g,moduleIndex:h,moduleType:y.moduleType}});else if(!K1(v))t.push({code:"invalid-module-global-number",message:`Module '${y.moduleType}' (XPU ${u}, part ${g}, index ${h}) has invalid globalNumber=${y2(v)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuObjectId:u,partObjectId:g,moduleIndex:h,globalNumber:v}});else {let P=a.get(v);P?t.push({code:"duplicate-module-global-number",message:`Duplicate ModuleEntry.globalNumber=${v} (first at XPU ${P.xpuObjectId} part ${P.partObjectId} module ${P.moduleIndex}, again at XPU ${u} part ${g} module ${h}).`,details:{globalNumber:v,first:P,second:{xpuObjectId:u,partObjectId:g,moduleIndex:h}}}):a.set(v,{xpuObjectId:u,partObjectId:g,moduleIndex:h});}}}}for(let l of e.processingUnits){if(!X0(l.moverType))throw new z("unknown-mover-type",`Unknown moverType ${y2(l.moverType)} in XPU ${l.objectId}`,{xpuObjectId:l.objectId,moverType:l.moverType});let c=[],m=new Map,u=new Map;for(let f of l.parts){let M=bt(f.modules),g={...f,modules:M};t.push(...yt(g)),c.push(g),m.set(g.globalNumber,g),u.set(g.globalNumber,Ct(M));}let{movers:p,warnings:d}=Tt({...l},m,u);t.push(...d),o.push({...l,parts:c,movers:p});}return {...e,processingUnits:o,__warnings:t}}s(E9,"normalizeXtsConfigImpl");function vt(e){return e.map(t=>`${t.code}:${t.message}`).join("|")}s(vt,"warningSignature");var At=10;function Pt(e){if(e.length===0)return;let t=e.slice(0,At),o=e.length-t.length;console.warn(`[XtsViewer3D] config normalized with ${e.length} warning${e.length===1?"":"s"} \u2014 the scene may not match the config:
|
|
1
|
+
'use strict';var W5=require('react'),postprocessing=require('@react-three/postprocessing'),jsxRuntime=require('react/jsx-runtime'),fiber=require('@react-three/fiber'),three=require('three'),drei=require('@react-three/drei'),SkeletonUtils_js=require('three/examples/jsm/utils/SkeletonUtils.js'),threeStdlib=require('three-stdlib'),RoomEnvironment_js=require('three/examples/jsm/environments/RoomEnvironment.js'),BufferGeometryUtils_js=require('three/examples/jsm/utils/BufferGeometryUtils.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var W5__default=/*#__PURE__*/_interopDefault(W5);var P9=Object.defineProperty;var s=(e,t)=>P9(e,"name",{value:t,configurable:true});var Ee=(e,t)=>()=>(e&&(t=e(e=0)),t);var bt=(e,t)=>{for(var o in t)P9(e,o,{get:t[o],enumerable:true});};function I2(e,t){return e??{error:t}}function k2(e){if(e)throw e.error}var A3=Ee(()=>{s(I2,"keepFirstFailure");s(k2,"rethrowCaptured");});function R3(e,t){e.add(t);let o=false;return ()=>{o||(o=true,e.delete(t));}}function Z5(e,t){let o=null;for(let r of e)try{t(r);}catch(n){o=I2(o,n);}k2(o);}function X5(e){let t=null;for(let o=e.length-1;o>=0;o--)try{e[o]();}catch(r){t=I2(t,r);}k2(t);}function V5(e,t){let o=[];try{Z5(e,r=>{let n=t(r);n&&o.push(n);});}catch(r){throw X5(o),r}return ()=>X5(o)}function d1(){return W5__default.default.useContext(E3)}var $e,E3,L1=Ee(()=>{A3();s(R3,"addTo");s(Z5,"runAll");s(X5,"runUndos");s(V5,"applyWithUndo");$e=class{static{s(this,"CaptureRegistry");}transforms=new Set;cameraDependents=new Set;prepares=new Set;postProcessingChains=0;registerTransform(t){return R3(this.transforms,t)}registerCameraDependent(t){return R3(this.cameraDependents,t)}registerPrepare(t){return R3(this.prepares,t)}registerPostProcessing(){this.postProcessingChains++;let t=false;return ()=>{t||(t=true,this.postProcessingChains=Math.max(0,this.postProcessingChains-1));}}get postProcessingActive(){return this.postProcessingChains>0}sessions=0;get capturing(){return this.sessions>0}beginSession(){this.sessions++;}endSession(){this.sessions=Math.max(0,this.sessions-1);}flushTransforms(){Z5(this.transforms,t=>t());}applyCameraDependents(t){return V5(this.cameraDependents,o=>o(t))}applyPrepares(){return V5(this.prepares,t=>t())}},E3=W5__default.default.createContext(null);s(d1,"useCaptureRegistry");});function u0(e){return typeof e!="number"||!Number.isFinite(e)||e<0?2:Math.floor(e)}var M7,U3=Ee(()=>{M7=2;s(u0,"resolveMultisampling");});var h7={};bt(h7,{DEFAULT_MULTISAMPLING:()=>M7,PostProcessingEffects:()=>Wr,resolveMultisampling:()=>u0});var Xr,Vr,Wr,b7=Ee(()=>{U3();L1();U3();Xr=s(({intensity:e,radius:t})=>jsxRuntime.jsx(postprocessing.N8AO,{aoRadius:t,intensity:e,halfRes:true,distanceFalloff:.5}),"SsaoEffect"),Vr=s(({intensity:e,threshold:t,radius:o})=>jsxRuntime.jsx(postprocessing.Bloom,{intensity:e,luminanceThreshold:t,luminanceSmoothing:o,mipmapBlur:true}),"BloomEffect"),Wr=s(({ssao:e=false,ssaoIntensity:t=1,ssaoRadius:o=20,bloom:r=false,bloomIntensity:n=.4,bloomThreshold:i=.85,bloomRadius:a=.4,multisampling:l})=>{let c=d1(),m=e||r;W5.useEffect(()=>{if(m)return c?.registerPostProcessing()},[c,m]);let u=[];return e&&u.push(jsxRuntime.jsx(Xr,{intensity:t,radius:o},"ssao")),r&&u.push(jsxRuntime.jsx(Vr,{intensity:n,threshold:i,radius:a},"bloom")),u.length===0?null:jsxRuntime.jsx(postprocessing.EffectComposer,{multisampling:u0(l),children:u})},"PostProcessingEffects");});var U0="6.1.0";var S9="3.1.0";var z0=`https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d-assets@${S9}/models`;var z=class extends Error{static{s(this,"XtsViewerErrorException");}code;details;constructor(t,o,r){super(o),this.name="XtsViewerError",this.code=t,this.details=r;}};var m1=s((e,t)=>({moduleType:e,moduleLengthMm:t,pathType:"Straight",endAngleDeg:0,centerlineRadiusMm:null}),"STRAIGHT"),x1=s((e,t,o=250)=>({moduleType:e,moduleLengthMm:o,pathType:"Curve",endAngleDeg:t,centerlineRadiusMm:o/Math.abs(t*Math.PI/180)}),"CURVE"),yt=s((e,t)=>({moduleType:e,moduleLengthMm:500,pathType:"Free",endAngleDeg:180,centerlineRadiusMm:null,freePathId:t}),"FREE_180"),O9=s((e,t)=>({moduleType:e,moduleLengthMm:250,pathType:"Free",endAngleDeg:90,centerlineRadiusMm:null,freePathId:t}),"FREE_HALF"),Ie=s((e,{isInfeed:t=false}={})=>{let o=`${e}_0500`,r=`${e}_0501`,n=`${e}_0500_180`,i=t?{isInfeed:true}:{};return {[o]:{...O9(o,"AT2050_0500_HALF"),...i},[r]:O9(r,"AT2050_0501_HALF"),[n]:{...yt(n,"AT2050_180_COMBINED"),...i}}},"clothoid180"),ke=Object.freeze({AT2000_0250:m1("AT2000_0250",250),AT2001_0250:{...m1("AT2001_0250",250),isInfeed:true},AT2002_0250:{...m1("AT2002_0250",250),isInfeed:true},AT2002_0249:{...m1("AT2002_0249",249),isInfeed:true},AT2000_0233:m1("AT2000_0233",233),AT2000_0249:m1("AT2000_0249",249),AT2100_0250:m1("AT2100_0250",250),AT2102_0250:{...m1("AT2102_0250",250),isInfeed:true},AT2020_0250:x1("AT2020_0250",22.5),AT2021_0250:{...x1("AT2021_0250",22.5),isInfeed:true},AT2025_0250:x1("AT2025_0250",-22.5),AT2026_0250:{...x1("AT2026_0250",-22.5),isInfeed:true},AT2040_0250:x1("AT2040_0250",45),AT2041_0250:{...x1("AT2041_0250",45),isInfeed:true},...Ie("AT2050"),AT2200_0500:m1("AT2200_0500",500),AT2202_0500:{...m1("AT2202_0500",500),isInfeed:true},ATH2000_0250:m1("ATH2000_0250",250),ATH2001_0250:{...m1("ATH2001_0250",250),isInfeed:true},ATH2002_0250:{...m1("ATH2002_0250",250),isInfeed:true},ATH2020_0250:x1("ATH2020_0250",22.5),ATH2040_0250:x1("ATH2040_0250",45),ATH2041_0250:{...x1("ATH2041_0250",45),isInfeed:true},ATH2042_0250:{...x1("ATH2042_0250",45),isInfeed:true},...Ie("ATH2050"),...Ie("ATH2051",{isInfeed:true}),...Ie("ATH2052",{isInfeed:true})}),X0=Object.freeze(Object.values(ke).filter(e=>e.isInfeed).map(e=>e.moduleType));function Z1(e){return ke[e]}s(Z1,"getModuleEntry");function V0(e){return Object.prototype.hasOwnProperty.call(ke,e)}s(V0,"isKnownModuleType");var we=Object.freeze({AT9014_0055:{moverType:"AT9014_0055",pathLengthMm:55,heightMm:124.8,magnetPlateCenterMm:[0,0,0]},AT9014_0070:{moverType:"AT9014_0070",pathLengthMm:70,heightMm:125.8,magnetPlateCenterMm:[0,0,0]},ATH9011_0075:{moverType:"ATH9011_0075",pathLengthMm:75,heightMm:112,magnetPlateCenterMm:[0,0,0]},Custom:{moverType:"Custom",pathLengthMm:70,heightMm:125,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_S25:{moverType:"Hepco_GFX2_1TC_S25",pathLengthMm:100,heightMm:86,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_C25:{moverType:"Hepco_GFX2_1TC_C25",pathLengthMm:54,heightMm:106,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_C34:{moverType:"Hepco_GFX2_1TC_C34",pathLengthMm:72,heightMm:106,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_1TC_M34:{moverType:"Hepco_GFX2_1TC_M34",pathLengthMm:82,heightMm:106,magnetPlateCenterMm:[0,0,0]},Hepco_GFX_1TC_A20_AS:{moverType:"Hepco_GFX_1TC_A20_AS",pathLengthMm:54,heightMm:67.5,magnetPlateCenterMm:[0,3.89,-8.67]},Hepco_GFX2_FCC_C25:{moverType:"Hepco_GFX2_FCC_C25",pathLengthMm:80,heightMm:99,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M34:{moverType:"Hepco_GFX2_FCC_M34",pathLengthMm:80,heightMm:110,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M34_7P:{moverType:"Hepco_GFX2_FCC_M34_7P",pathLengthMm:89,heightMm:110,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M34_10P:{moverType:"Hepco_GFX2_FCC_M34_10P",pathLengthMm:102,heightMm:110,magnetPlateCenterMm:[0,0,0]},Hepco_GFX2_FCC_M40_10P:{moverType:"Hepco_GFX2_FCC_M40_10P",pathLengthMm:102,heightMm:122,magnetPlateCenterMm:[0,0,0]}}),R9=Object.freeze({AT9014_0055:"AT9001_0550",AT9014_0070:"AT9001_0550",ATH9011_0075:"ATH9001_0550",Hepco_GFX2_1TC_S25:null,Hepco_GFX2_1TC_C25:null,Hepco_GFX2_1TC_C34:null,Hepco_GFX2_1TC_M34:null,Hepco_GFX_1TC_A20_AS:null,Hepco_GFX2_FCC_C25:"AT9001_0550",Hepco_GFX2_FCC_M34:"AT9001_0550",Hepco_GFX2_FCC_M34_7P:"AT9001_0775",Hepco_GFX2_FCC_M34_10P:"AT9001_0AA0",Hepco_GFX2_FCC_M40_10P:"AT9001_0AA0",Custom:null}),E9="AT9001_0550";function W0(e,t){return R9[e]!==null||e==="Custom"?null:t??E9}s(W0,"resolveAttachedPlateType");function b2(e){return we[e]}s(b2,"getMoverEntry");function De(e,t){let o=we[t]?.magnetPlateCenterMm;return !o||o[0]===0&&o[1]===0&&o[2]===0?e:{...e,translateMm:[e.translateMm[0]+o[0],e.translateMm[1]+o[1],e.translateMm[2]+o[2]]}}s(De,"plateCorrectionFor");function Z0(e){return Object.prototype.hasOwnProperty.call(we,e)}s(Z0,"isKnownMoverType");var Tt=4294967295;function K1(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=Tt}s(K1,"isValidUint32");var k9=Object.freeze([{a:"AT2050_0500",b:"AT2050_0501",merged:"AT2050_0500_180"},{a:"ATH2050_0500",b:"ATH2050_0501",merged:"ATH2050_0500_180"},{a:"ATH2051_0500",b:"ATH2051_0501",merged:"ATH2051_0500_180"},{a:"ATH2052_0500",b:"ATH2052_0501",merged:"ATH2052_0500_180"}]),w9=k9;function Ct(e){for(let t of w9)if(t.a===e)return t}s(Ct,"findHalfPair");function xt(e){return w9.some(t=>t.b===e)}s(xt,"isTrailingHalf");function y2(e){if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||e===null||e===void 0)return String(e);try{return JSON.stringify(e)??Object.prototype.toString.call(e)}catch{return Object.prototype.toString.call(e)}}s(y2,"describeValue");function At(e){let t=[];for(let o=0;o<e.length;o++){let r=e[o],n=Ct(r.moduleType),i=e[o+1];if(n&&i&&i.moduleType===n.b){let a={moduleType:n.merged};(r.status||i.status)&&(a.status={warning:!!(r.status?.warning||i.status?.warning),error:!!(r.status?.error||i.status?.error)}),t.push(a),o+=1;continue}if(n&&(!i||i.moduleType!==n.b))throw new z("unmatched-clothoid-half",`${n.a} at index ${o} is not followed by ${n.b}.`,{index:o,moduleType:n.a});if(xt(r.moduleType))throw new z("unmatched-clothoid-half",`Lone ${r.moduleType} at index ${o} (must follow its ..._0500 partner).`,{index:o,moduleType:r.moduleType});t.push(r);}return t}s(At,"mergeHalves");function vt(e){let t=[];e.modules.length===0&&t.push({code:"empty-part",message:`Part #${e.globalNumber} has no modules.`,details:{partOid:e.globalNumber}});for(let o=0;o<e.modules.length;o++){let r=e.modules[o];if(!V0(r.moduleType))throw new z("unknown-module-type",`Unknown moduleType ${y2(r.moduleType)} in part #${e.globalNumber} index ${o}`,{partOid:e.globalNumber,index:o,moduleType:r.moduleType})}return t}s(vt,"validatePart");function Pt(e,t,o){let r=[],n=new Map,i=[];for(let a of e.movers){if(!t.get(a.partOid)){r.push({code:"mover-orphan",message:`Mover ${a.id} references partOid=${a.partOid} which is not in XPU ${e.objectId}; mover skipped.`,details:{mover:a,xpuObjectId:e.objectId}});continue}if(a.id===void 0||a.id===null){r.push({code:"mover-missing-id",message:`Mover at index=${a.index} in XPU ${e.objectId} is missing required field 'id'.`,details:{mover:a,xpuObjectId:e.objectId}});continue}if(!K1(a.id)){r.push({code:"mover-invalid-id",message:`Mover id=${String(a.id)} (XPU ${e.objectId}) is invalid (must be a non-negative integer \u2264 2^32-1).`,details:{mover:a,xpuObjectId:e.objectId}});continue}if(n.has(a.id)){r.push({code:"mover-duplicate-id",message:`Duplicate mover.id=${a.id} in XPU ${e.objectId}; later definition wins.`,details:{id:a.id,xpuObjectId:e.objectId}});let m=n.get(a.id);i[m]=I9(a,o.get(a.partOid)??0,r);continue}let c=o.get(a.partOid)??0;i.push(I9(a,c,r)),n.set(a.id,i.length-1);}return {movers:i,warnings:r}}s(Pt,"validateMovers");function I9(e,t,o){let r=e.partPositionMm;return Number.isFinite(r)||(r=0),r<0?(o.push({code:"mover-out-of-range",message:`Mover ${e.id} partPositionMm=${r} clamped to 0.`,details:{mover:e,original:e.partPositionMm}}),r=0):r>t&&(o.push({code:"mover-out-of-range",message:`Mover ${e.id} partPositionMm=${r} clamped to trackLength=${t}.`,details:{mover:e,original:e.partPositionMm,trackLengthMm:t}}),r=t),{...e,partPositionMm:r}}s(I9,"clampMover");function St(e){let t=0;for(let o of e)t+=Z1(o.moduleType)?.moduleLengthMm??0;return t}s(St,"trackLengthAfterMerge");var K0=class{static{s(this,"XtsConfigNormalizer");}normalize(t){return D9(t)}clearCache(){}};function Y0(e){return D9(e)}s(Y0,"normalizeXtsConfig");function D9(e){let t=[],o=[],r=new Map,n=new Map,i=new Map,a=new Map;for(let l=0;l<e.processingUnits.length;l++){let c=e.processingUnits[l],m=c.objectId;if(m==null)t.push({code:"missing-xpu-object-id",message:`XPU at position ${l} is missing required field 'objectId'.`,details:{xpuPosition:l}});else if(!K1(m))t.push({code:"invalid-xpu-object-id",message:`XPU at position ${l} has invalid objectId=${y2(m)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuPosition:l,objectId:m}});else {let p=r.get(m);p?t.push({code:"duplicate-xpu-object-id",message:`Duplicate XPU.objectId=${m} (first at position ${p.xpuPosition}, again at position ${l}).`,details:{objectId:m,first:p,second:{xpuPosition:l}}}):r.set(m,{xpuPosition:l});}let u=K1(m)?m:l;for(let p=0;p<c.parts.length;p++){let d=c.parts[p],f=d.objectId;if(f==null)t.push({code:"missing-part-object-id",message:`Part #${d.globalNumber} (XPU ${u}, position ${p}) is missing required field 'objectId'.`,details:{xpuObjectId:u,partPosition:p}});else if(!K1(f))t.push({code:"invalid-part-object-id",message:`Part #${d.globalNumber} (XPU ${u}, position ${p}) has invalid objectId=${y2(f)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuObjectId:u,partPosition:p,objectId:f}});else {let h=n.get(f);h?t.push({code:"duplicate-part-object-id",message:`Duplicate Part.objectId=${f} (first at XPU ${h.xpuObjectId} part ${h.partPosition}, again at XPU ${u} part ${p}).`,details:{objectId:f,first:h,second:{xpuObjectId:u,partPosition:p}}}):n.set(f,{xpuObjectId:u,partPosition:p});}let M=d.globalNumber;if(M==null)t.push({code:"missing-part-global-number",message:`Part (XPU ${u}, position ${p}) is missing required field 'globalNumber'.`,details:{xpuObjectId:u,partPosition:p}});else if(!K1(M))t.push({code:"invalid-part-global-number",message:`Part (XPU ${u}, position ${p}) has invalid globalNumber=${y2(M)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuObjectId:u,partPosition:p,globalNumber:M}});else {let h=i.get(M);h?t.push({code:"duplicate-part-global-number",message:`Duplicate Part.globalNumber=${M} (first at XPU ${h.xpuObjectId} part ${h.partPosition}, again at XPU ${u} part ${p}). Movers, stations, areas and the heatmap all address parts by globalNumber, so the two parts will cross-wire.`,details:{globalNumber:M,first:h,second:{xpuObjectId:u,partPosition:p}}}):i.set(M,{xpuObjectId:u,partPosition:p});}let g=K1(f)?f:p;for(let h=0;h<d.modules.length;h++){let y=d.modules[h],A=y.globalNumber;if(A==null)t.push({code:"missing-module-global-number",message:`Module '${y.moduleType}' (XPU ${u}, part ${g}, index ${h}) is missing required field 'globalNumber'.`,details:{xpuObjectId:u,partObjectId:g,moduleIndex:h,moduleType:y.moduleType}});else if(!K1(A))t.push({code:"invalid-module-global-number",message:`Module '${y.moduleType}' (XPU ${u}, part ${g}, index ${h}) has invalid globalNumber=${y2(A)} (must be a non-negative integer \u2264 2^32-1).`,details:{xpuObjectId:u,partObjectId:g,moduleIndex:h,globalNumber:A}});else {let P=a.get(A);P?t.push({code:"duplicate-module-global-number",message:`Duplicate ModuleEntry.globalNumber=${A} (first at XPU ${P.xpuObjectId} part ${P.partObjectId} module ${P.moduleIndex}, again at XPU ${u} part ${g} module ${h}).`,details:{globalNumber:A,first:P,second:{xpuObjectId:u,partObjectId:g,moduleIndex:h}}}):a.set(A,{xpuObjectId:u,partObjectId:g,moduleIndex:h});}}}}for(let l of e.processingUnits){if(!Z0(l.moverType))throw new z("unknown-mover-type",`Unknown moverType ${y2(l.moverType)} in XPU ${l.objectId}`,{xpuObjectId:l.objectId,moverType:l.moverType});let c=[],m=new Map,u=new Map;for(let f of l.parts){let M=At(f.modules),g={...f,modules:M};t.push(...vt(g)),c.push(g),m.set(g.globalNumber,g),u.set(g.globalNumber,St(M));}let{movers:p,warnings:d}=Pt({...l},m,u);t.push(...d),o.push({...l,parts:c,movers:p});}return {...e,processingUnits:o,__warnings:t}}s(D9,"normalizeXtsConfigImpl");function Rt(e){return e.map(t=>`${t.code}:${t.message}`).join("|")}s(Rt,"warningSignature");var Et=10;function It(e){if(e.length===0)return;let t=e.slice(0,Et),o=e.length-t.length;console.warn(`[XtsViewer3D] config normalized with ${e.length} warning${e.length===1?"":"s"} \u2014 the scene may not match the config:
|
|
2
2
|
`+t.map(r=>` \u2022 ${r.code}: ${r.message}`).join(`
|
|
3
3
|
`)+(o>0?`
|
|
4
|
-
\u2022 \u2026and ${o} more`:""));}s(Pt,"logNormalizationWarnings");function w9(e,t){let o=U5.useRef(null),r=U5.useRef(null),n=U5.useMemo(()=>{try{return o.current=null,Z0(e)}catch(i){return o.current=i instanceof z?{code:i.code,message:i.message,details:i.details}:{code:"invalid-config",message:i?.message??String(i),details:i},null}},[e]);return U5.useEffect(()=>{o.current&&t&&t(o.current);},[n,t]),U5.useEffect(()=>{let i=n?.__warnings??[],a=vt(i);a!==r.current&&(r.current=a,Pt(i));},[n]),n}s(w9,"useNormalizedConfig");var St="#FF2030";function D9(e){return {sizeMm:e?.sizeMm??10,color:e?.color??St}}s(D9,"resolveMarker");function F9(e){return {...e,coordinateSystem:e?.coordinateSystem??"viewer",showStations:e?.showStations!==false,showAreas:e?.showAreas!==false,showDimensions:e?.showDimensions===true,showDriveErrors:e?.showDriveErrors!==false,showDriveWarnings:e?.showDriveWarnings!==false,moduleTypePlates:e?.moduleTypePlates!==false,showMoverIds:e?.showMoverIds===true,showStopPositionMovers:e?.showStopPositionMovers===true,showStatorHeatmap:e?.showStatorHeatmap===true,invertDimensions:e?.invertDimensions??false,showModuleCornerMarkers:e?.showModuleCornerMarkers??false,showMoverAnchorMarker:e?.showMoverAnchorMarker===true,moduleCornerMarkerOptions:D9(e?.moduleCornerMarkerOptions),moverAnchorMarkerOptions:D9(e?.moverAnchorMarkerOptions),lighting:{shadows:e?.lighting?.shadows===true,environment:e?.lighting?.environment!==false,environmentIntensity:e?.lighting?.environmentIntensity??.4,toneMapping:e?.lighting?.toneMapping??"aces",toneMappingExposure:e?.lighting?.toneMappingExposure??1},postProcessing:{ssao:e?.postProcessing?.ssao===true,ssaoIntensity:e?.postProcessing?.ssaoIntensity??1,ssaoRadius:e?.postProcessing?.ssaoRadius??20,bloom:e?.postProcessing?.bloom===true,bloomIntensity:e?.postProcessing?.bloomIntensity??.4,bloomThreshold:e?.postProcessing?.bloomThreshold??.85,bloomRadius:e?.postProcessing?.bloomRadius??.4}}}s(F9,"resolveDisplayOptions");var _9=s(([e,t,o])=>[e,-t,o],"negateY"),B9=s(([e,t,o])=>[e,t,-o],"negateZEuler");function Ot(e){if(!e)return e;let t={...e};return e.offsetMm&&(t.offsetMm=_9(e.offsetMm)),e.rotationDegEuler&&(t.rotationDegEuler=B9(e.rotationDegEuler)),t}s(Ot,"flipPartTransformation");function L9(e){return e&&ke(e)}s(L9,"flipTrackTransform");function ke(e){let t={...e};return e.positionMm&&(t.positionMm=_9(e.positionMm)),e.rotationDegEuler&&(t.rotationDegEuler=B9(e.rotationDegEuler)),t}s(ke,"applyBeckhoffXtsConventionToTrackTransform");function K0(e){if(!e)return e;let t={};for(let[o,r]of Object.entries(e)){let n=L9(r);n&&(t[Number(o)]=n);}return t}s(K0,"applyBeckhoffXtsConventionToOverrides");function Y0(e){return {...e,processingUnits:e.processingUnits.map(t=>({...t,trackTransform:L9(t.trackTransform),parts:t.parts.map(o=>({...o,partTransformation:Ot(o.partTransformation)}))}))}}s(Y0,"applyBeckhoffXtsConvention");var q2=Object.freeze({modules:[],movers:[]}),we=s(e=>`${e.processingUnitObjectId}/${e.partObjectId}/${e.moduleIndex}`,"moduleKey"),De=s(e=>`${e.processingUnitObjectId}/${e.moverIndex}`,"moverKey");function Rt(e,t){return e.modules.some(o=>we(o)===we(t))}s(Rt,"listsModule");function Et(e,t){return e.movers.some(o=>De(o)===De(t))}s(Et,"listsMover");function Fe(e,t){return (e.tracks??[]).some(o=>o.processingUnitObjectId===t.processingUnitObjectId)}s(Fe,"isTrackSelected");function q0(e,t){return Fe(e,t)?true:e.modules.some(o=>o.processingUnitObjectId===t.processingUnitObjectId&&o.partObjectId===t.partObjectId&&o.moduleIndex===t.moduleIndex)}s(q0,"isModuleSelected");function _e(e,t){return Fe(e,t)?true:e.movers.some(o=>o.processingUnitObjectId===t.processingUnitObjectId&&o.moverIndex===t.moverIndex)}s(_e,"isMoverSelected");function Be(e,t){return (e.customAssets??[]).some(o=>o.assetId===t.assetId)}s(Be,"isCustomAssetSelected");function It(){return q2}s(It,"deselectAll");function J0(e,t,o,r={}){if(o==="Off")return e;if(o==="Single")return {modules:[t],movers:[]};let n=r.ctrl||r.meta;return r.shift?_t(e,t):n?kt(e,t):{modules:[t],movers:[]}}s(J0,"applyModuleClick");function Q0(e,t,o,r={}){return o==="Off"?e:o==="Single"?{modules:[],movers:[t]}:r.ctrl||r.meta?wt(e,t):{modules:[],movers:[t]}}s(Q0,"applyMoverClick");function $0(e,t,o,r={}){return o==="Off"?e:o==="Single"?{modules:[],movers:[],tracks:[t]}:r.ctrl||r.meta?Dt(e,t):{modules:[],movers:[],tracks:[t]}}s($0,"applyTrackClick");function e3(e,t,o,r={}){return o==="Off"?e:o==="Single"?{modules:[],movers:[],customAssets:[t]}:r.ctrl||r.meta?Ft(e,t):{modules:[],movers:[],customAssets:[t]}}s(e3,"applyCustomAssetClick");function t3(e,t){return t==="Off"?e:q2}s(t3,"applyEmptyClick");function kt(e,t){return Rt(e,t)?{...e,modules:e.modules.filter(o=>we(o)!==we(t))}:{...e,modules:[...e.modules,t]}}s(kt,"toggleModuleInSelection");function wt(e,t){return Et(e,t)?{...e,movers:e.movers.filter(o=>De(o)!==De(t))}:{...e,movers:[...e.movers,t]}}s(wt,"toggleMoverInSelection");function Dt(e,t){let o=e.tracks??[];return Fe(e,t)?{...e,tracks:o.filter(r=>r.processingUnitObjectId!==t.processingUnitObjectId)}:{...e,tracks:[...o,t]}}s(Dt,"toggleTrackInSelection");function Ft(e,t){let o=e.customAssets??[];return Be(e,t)?{...e,customAssets:o.filter(r=>r.assetId!==t.assetId)}:{...e,customAssets:[...o,t]}}s(Ft,"toggleCustomAssetInSelection");function _t(e,t){if(e.modules.length===0)return {modules:[t],movers:[]};let o=e.modules[e.modules.length-1];if(o.processingUnitObjectId!==t.processingUnitObjectId||o.partObjectId!==t.partObjectId)return {modules:[t],movers:[]};let r=Math.min(o.moduleIndex,t.moduleIndex),n=Math.max(o.moduleIndex,t.moduleIndex),i=[];for(let l=r;l<=n;l++)i.push({processingUnitObjectId:t.processingUnitObjectId,partObjectId:t.partObjectId,moduleIndex:l});return {modules:[...e.modules.filter(l=>l.processingUnitObjectId!==t.processingUnitObjectId||l.partObjectId!==t.partObjectId),...i],movers:[]}}s(_t,"rangeSelectModules");function G9({selection:e,selectionMode:t,selectionScope:o="module",selectionLocked:r,onSelectionChange:n,onModuleClick:i,onMoverClick:a,onCustomAssetClick:l}){let[c,m]=U5.useState(q2),u=t??"Off",p=e!==void 0,d=p?e:c,f=U5.useCallback(A=>{p||m(A),n?.(A);},[p,n]),M=s(A=>({ctrl:A.nativeEvent?.ctrlKey,shift:A.nativeEvent?.shiftKey,meta:A.nativeEvent?.metaKey}),"modifiersOf"),g=U5.useCallback((A,b)=>$0(d,{processingUnitObjectId:A},u,M(b)),[d,u]),h=U5.useCallback((A,b)=>{r||(f(o==="track"?g(A.processingUnitObjectId,b):J0(d,A,u,M(b))),i?.(A));},[g,d,u,o,r,i,f]),y=U5.useCallback((A,b)=>{r||(f(o==="track"?g(A.processingUnitObjectId,b):Q0(d,A,u,M(b))),a?.(A));},[g,d,u,o,r,a,f]),v=U5.useCallback((A,b)=>{r||(f(e3(d,A,u,M(b))),l?.(A));},[d,u,r,l,f]),P=U5.useCallback(()=>{if(r)return;let A=t3(d,u);A!==d&&f(A);},[d,u,r,f]);return {effectiveSelection:d,selectionMode:u,selectionScope:o,handleModuleClick:h,handleMoverClick:y,handleCustomAssetClick:v,handlePointerMissed:P}}s(G9,"useSelectionState");var S1=["#ff3653","#8adb00","#2c8fff"],J2=["X","Y","Z"],H9="#101418";var r3=[.82,.036,.036];function j9(e,t){let[o,r,n]=e,[i,a,l]=t;return [{axis:"x",color:o,label:i},{axis:"y",color:r,label:a},{axis:"z",color:n,label:l}]}s(j9,"axisTriple");var Q2={x:[1,0,0],y:[0,1,0],z:[0,0,1]},Lt={x:[0,0,0],y:[0,0,Math.PI/2],z:[0,-Math.PI/2,0]};function o3(e){return e===0?0:-e}s(o3,"flip");function N9(e=S1,t=J2){let o=[];for(let{axis:r,color:n,label:i}of j9(e,t)){let[a,l,c]=Q2[r];o.push({id:`${r}+`,axis:r,label:i,color:n,direction:[a,l,c],positive:true}),o.push({id:`${r}-`,axis:r,label:i,color:n,direction:[o3(a),o3(l),o3(c)],positive:false});}return o}s(N9,"buildAxisHeads");function Le(e=S1){return j9(e,J2).map(({axis:t,color:o})=>({axis:t,color:o,rotation:[...Lt[t]]}))}s(Le,"buildAxisBars");function U9(e,t){return (e.positive?.26:.21)*2*(t?1.18:1)}s(U9,"headScale");function Ge(e,t){let[,o]=/^#([0-9a-f]{6})$/i.exec(e.trim())??[];if(o===void 0)return e;let r=parseInt(o,16),n=Math.min(Math.max(t,0),1),i=s(m=>Math.round(m+(255-m)*n),"mix"),a=i(r>>16&255),l=i(r>>8&255),c=i(r&255);return `#${(a<<16|l<<8|c).toString(16).padStart(6,"0")}`}s(Ge,"lighten");function z9(e,{size:t,color:o,filled:r,label:n,labelColor:i}){let a=t/2,l=Math.max(2,t*.08),c=a-l;e.clearRect(0,0,t,t),r?(e.fillStyle=o,e.beginPath(),e.arc(a,a,c,0,Math.PI*2),e.closePath(),e.fill()):(e.strokeStyle=o,e.lineWidth=l,e.beginPath(),e.arc(a,a,c-l/2,0,Math.PI*2),e.closePath(),e.stroke()),n&&(e.font=`bold ${Math.round(t*.44)}px Inter, "Segoe UI", Arial, sans-serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=i,e.fillText(n,a,a+t*.02));}s(z9,"drawAxisHead");var j=Math.PI/180,Gt=[0,0,0],Ht=[0,0,0];function C2(e,t=Ht){let o=e?.positionMm??t,r=e?.rotationDegEuler??Gt;return {positionMm:o,rotationRad:[r[0]*j,r[1]*j,r[2]*j],scale:e?.scaleUniform??1,visible:e?.visible!==false}}s(C2,"resolvePose");function i3(e){return new three.Matrix4().compose(new three.Vector3(e.positionMm[0],e.positionMm[1],e.positionMm[2]),new three.Quaternion().setFromEuler(new three.Euler(e.rotationRad[0],e.rotationRad[1],e.rotationRad[2],"XYZ")),new three.Vector3(e.scale,e.scale,e.scale))}s(i3,"poseMatrix");var x2=200;function Ut(e){return i3(C2(e))}s(Ut,"orientationMatrix");function zt(e){return i3(C2(e,[0,0,x2]))}s(zt,"trackTransformMatrix");function Vt(e){return i3(C2(e?{positionMm:e.offsetMm,rotationDegEuler:e.rotationDegEuler,visible:e.visible}:null))}s(Vt,"partTransformationMatrix");function x1(e,t){return t?.[e.objectId]??e.trackTransform??null}s(x1,"effectiveTrackTransform");function Xt(e,t){return new three.Matrix4().copy(Ut(e)).multiply(zt(t))}s(Xt,"composeWorldMatrix");function _1(e,t,o){return new three.Matrix4().copy(Xt(e,t)).multiply(Vt(o))}s(_1,"composePartWorldMatrix");function W9(e,t){if(!t?.enabled)return null;let o=t.target??"selection";if(o==="none")return null;if(o!=="selection")return o;if(!e)return null;let r=e.customAssets?.at(-1);if(r)return {kind:"customAsset",assetId:r.assetId};let n=e.tracks?.at(-1);return n?{kind:"track",processingUnitObjectId:n.processingUnitObjectId}:null}s(W9,"resolveTransformTarget");function s3(e){return e.kind==="track"?`track:${e.processingUnitObjectId}`:`customAsset:${e.assetId}`}s(s3,"transformTargetKey");function Wt(e){return !e||e.binding.type!=="static"?null:e.binding}s(Wt,"staticBindingOf");function a3(e,t,o){if(t.kind==="track"){let n=e.processingUnits.find(a=>a.objectId===t.processingUnitObjectId);if(!n)return null;let i=o?.[n.objectId]??n.trackTransform??null;return {positionMm:i?.positionMm??[0,0,x2],rotationDegEuler:i?.rotationDegEuler??[0,0,0],scaleUniform:i?.scaleUniform??1}}let r=Wt(e.customAssets?.find(n=>n.id===t.assetId));return r?{positionMm:r.positionMm??[0,0,0],rotationDegEuler:r.rotationDegEuler??[0,0,0],scaleUniform:r.scale??1}:null}s(a3,"sourcePoseOfTarget");var X9=s((e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],"vecEq");function Zt(e,t){return X9(e.positionMm,t.positionMm)&&X9(e.rotationDegEuler,t.rotationDegEuler)&&e.scaleUniform===t.scaleUniform}s(Zt,"posesEqual");function Z9(e,t){let o={},r=false;for(let[n,i]of Object.entries(e)){let a=t(i.target);a&&Zt(a,i.base)?o[n]=i:r=true;}return r?o:e}s(Z9,"pruneTransformDrafts");function He(e,t){let o={positionMm:e.positionMm,rotationDegEuler:e.rotationDegEuler,scaleUniform:e.scaleUniform};return t?.visible!==void 0&&(o.visible=t.visible),o}s(He,"poseToTrackTransform");function K9(e,t,o){let r=Object.values(t).filter(i=>i.target.kind==="track");if(r.length===0)return e;let n={...e};for(let i of r){if(i.target.kind!=="track")continue;let a=i.target.processingUnitObjectId,l=e?.[a]??o.processingUnits.find(c=>c.objectId===a)?.trackTransform??null;n[a]=He(i.pose,l);}return n}s(K9,"mergeDraftTrackOverrides");function Y9(e){let t={};for(let o of Object.values(e))o.target.kind==="customAsset"&&(t[o.target.assetId]=o.pose);return t}s(Y9,"draftAssetPoses");function q9(e,t,o){if(!o||t.kind!=="track")return e;let r=ke(He(e));return {positionMm:r.positionMm??e.positionMm,rotationDegEuler:r.rotationDegEuler??e.rotationDegEuler,scaleUniform:e.scaleUniform}}s(q9,"toHostPose");function J9(e,t,o,r){let n=o[s3(t)];return n?n.pose:a3(e,t,r)}s(J9,"effectivePoseOfTarget");var qt=90,Jt=.05,Qt=["translate","rotate","scale"];function Q9({options:e,config:t,selection:o,trackTransformOverrides:r,beckhoffConvention:n,suppressed:i=false}){let[a,l]=U5.useState({}),c=e?.handles,m=U5.useMemo(()=>c??Qt,[c]),u=U5.useMemo(()=>i||!t?null:W9(o,e),[t,e,o,i]),p=U5.useCallback(b=>t?a3(t,b,r):null,[t,r]),d=U5.useMemo(()=>Z9(a,p),[a,p]),f=U5.useMemo(()=>t&&u?J9(t,u,d,r):null,[t,u,d,r]),M=U5.useRef(null),g=U5.useCallback((b,T)=>{if(!t||!u)return null;let x=q9(b,u,n),C={target:u,mode:T,pose:x};if(u.kind==="track"){let S=t.processingUnits.find(R=>R.objectId===u.processingUnitObjectId);C.trackTransform=He(x,r?.[u.processingUnitObjectId]??S?.trackTransform);}return C},[n,t,u,r]),h=U5.useCallback(()=>{u&&(M.current=p(u),e?.onTransformStart?.(u));},[e,p,u]),y=U5.useCallback((b,T)=>{if(!u)return;let x=M.current;x&&l(S=>({...S,[s3(u)]:{target:u,base:x,pose:b}}));let C=g(b,T);C&&e?.onTransformChange?.(C);},[g,e,u]),v=U5.useCallback((b,T)=>{let x=g(b,T);x&&e?.onTransformEnd?.(x);},[g,e]),P=U5.useMemo(()=>t?K9(r,d,t):r,[t,d,r]),A=U5.useMemo(()=>Y9(d),[d]);return {target:u,pose:f,handles:m,sizePx:e?.sizePx??qt,minScale:e?.minScale??Jt,axisColors:e?.axisColors??S1,translateSnapMm:e?.translateSnapMm,rotateSnapDeg:e?.rotateSnapDeg,scaleSnap:e?.scaleSnap,trackTransformOverrides:P,assetPoses:A,onDragStart:h,onDrag:y,onDragEnd:v}}s(Q9,"useTransformGizmo");function A2(e){let t=U5.useRef(null);return t.current??=e(),t}s(A2,"useLazyRef");var $9={lengthMm:500,samplingMm:.1,points:[[0,0],[.1,0],[.2,0],[.3,0],[.4,0],[.5,0],[.6,0],[.7,0],[.8,0],[.9,0],[1,0],[1.1,0],[1.2,0],[1.3,0],[1.4,0],[1.5,0],[1.6,1e-7],[1.7,1e-7],[1.8,1e-7],[1.9,1e-7],[2,2e-7],[2.1,2e-7],[2.2,3e-7],[2.3,4e-7],[2.4,5e-7],[2.5,6e-7],[2.6,7e-7],[2.7,9e-7],[2.8,1e-6],[2.9,12e-7],[3,15e-7],[3.1,17e-7],[3.2,2e-6],[3.3,24e-7],[3.4,28e-7],[3.5,32e-7],[3.6,37e-7],[3.7,42e-7],[3.8,48e-7],[3.9,55e-7],[4,62e-7],[4.1,7e-6],[4.2,79e-7],[4.3,89e-7],[4.4,1e-5],[4.5,111e-7],[4.6,124e-7],[4.7,138e-7],[4.8,153e-7],[4.9,169e-7],[5,187e-7],[5.1,207e-7],[5.2,227e-7],[5.3,25e-6],[5.4,274e-7],[5.5,3e-5],[5.6,328e-7],[5.7,358e-7],[5.8,39e-6],[5.9,424e-7],[6,461e-7],[6.099999999,5e-5],[6.199999999,541e-7],[6.299999999,586e-7],[6.399999999,633e-7],[6.499999999,683e-7],[6.599999999,736e-7],[6.699999999,793e-7],[6.799999999,853e-7],[6.899999998,916e-7],[6.999999998,983e-7],[7.099999998,1054e-7],[7.199999998,1129e-7],[7.299999997,1209e-7],[7.399999997,1292e-7],[7.499999997,138e-6],[7.599999996,1473e-7],[7.699999996,157e-6],[7.799999995,1673e-7],[7.899999995,1781e-7],[7.999999994,1894e-7],[8.099999993,2013e-7],[8.199999992,2138e-7],[8.299999992,2268e-7],[8.399999991,2405e-7],[8.49999999,2549e-7],[8.599999988,2699e-7],[8.699999987,2856e-7],[8.799999986,302e-6],[8.899999984,3192e-7],[8.999999983,3371e-7],[9.099999981,3558e-7],[9.199999979,3753e-7],[9.299999977,3957e-7],[9.399999975,4169e-7],[9.499999972,439e-6],[9.59999997,462e-6],[9.699999967,486e-6],[9.799999964,5109e-7],[9.89999996,5368e-7],[9.999999957,5638e-7],[10.09999995,5918e-7],[10.19999995,6209e-7],[10.29999994,6511e-7],[10.39999994,6825e-7],[10.49999993,7151e-7],[10.59999993,7488e-7],[10.69999992,7838e-7],[10.79999992,8201e-7],[10.89999991,8577e-7],[10.9999999,8967e-7],[11.09999989,937e-6],[11.19999988,9787e-7],[11.29999987,.0010219],[11.39999986,.0010666],[11.49999985,.0011128],[11.59999984,.0011606],[11.69999983,.0012099],[11.79999982,.0012609],[11.8999998,.0013136],[11.99999979,.001368],[12.09999977,.0014242],[12.19999976,.0014821],[12.29999974,.0015419],[12.39999972,.0016036],[12.4999997,.0016672],[12.59999968,.0017327],[12.69999965,.0018003],[12.79999963,.0018699],[12.8999996,.0019416],[12.99999958,.0020155],[13.09999955,.0020916],[13.19999952,.0021699],[13.29999949,.0022504],[13.39999945,.0023333],[13.49999941,.0024186],[13.59999938,.0025063],[13.69999934,.0025965],[13.79999929,.0026892],[13.89999925,.0027845],[13.9999992,.0028825],[14.09999915,.0029831],[14.1999991,.0030864],[14.29999904,.0031925],[14.39999898,.0033015],[14.49999892,.0034133],[14.59999885,.0035281],[14.69999878,.0036459],[14.79999871,.0037668],[14.89999863,.0038908],[14.99999855,.0040179],[15.09999847,.0041483],[15.19999838,.004282],[15.29999828,.004419],[15.39999818,.0045595],[15.49999808,.0047034],[15.59999797,.0048508],[15.69999786,.0050018],[15.79999774,.0051565],[15.89999761,.0053148],[15.99999748,.005477],[16.09999734,.005643],[16.1999972,.0058129],[16.29999705,.0059868],[16.39999689,.0061647],[16.49999672,.0063467],[16.59999655,.0065329],[16.69999637,.0067233],[16.79999618,.0069181],[16.89999598,.0071172],[16.99999577,.0073207],[17.09999556,.0075288],[17.19999533,.0077414],[17.2999951,.0079587],[17.39999485,.0081807],[17.49999459,.0084076],[17.59999432,.0086393],[17.69999404,.0088759],[17.79999375,.0091176],[17.89999345,.0093643],[17.99999313,.0096163],[18.0999928,.0098735],[18.19999245,.010136],[18.2999921,.0104039],[18.39999172,.0106772],[18.49999133,.0109562],[18.59999093,.0112408],[18.69999051,.0115311],[18.79999007,.0118272],[18.89998961,.0121291],[18.99998914,.0124371],[19.09998865,.012751],[19.19998813,.0130711],[19.2999876,.0133974],[19.39998705,.01373],[19.49998647,.014069],[19.59998588,.0144145],[19.69998526,.0147665],[19.79998461,.0151251],[19.89998395,.0154904],[19.99998325,.0158626],[20.09998253,.0162417],[20.19998179,.0166277],[20.29998102,.0170208],[20.39998022,.0174211],[20.49997939,.0178287],[20.59997852,.0182436],[20.69997763,.0186659],[20.79997671,.0190958],[20.89997575,.0195333],[20.99997476,.0199786],[21.09997373,.0204316],[21.19997267,.0208926],[21.29997157,.0213616],[21.39997043,.0218387],[21.49996926,.0223239],[21.59996804,.0228175],[21.69996678,.0233195],[21.79996547,.02383],[21.89996413,.024349],[21.99996274,.0248768],[22.0999613,.0254134],[22.19995981,.0259588],[22.29995827,.0265133],[22.39995668,.0270768],[22.49995504,.0276496],[22.59995335,.0282317],[22.6999516,.0288231],[22.79994979,.0294241],[22.89994793,.0300347],[22.999946,.0306551],[23.09994402,.0312852],[23.19994197,.0319253],[23.29993986,.0325755],[23.39993768,.0332358],[23.49993543,.0339064],[23.59993311,.0345873],[23.69993072,.0352788],[23.79992825,.0359808],[23.89992571,.0366935],[23.9999231,.0374171],[24.0999204,.0381515],[24.19991762,.038897],[24.29991476,.0396537],[24.39991181,.0404216],[24.49990877,.0412009],[24.59990565,.0419918],[24.69990243,.0427942],[24.79989911,.0436083],[24.8998957,.0444343],[24.99989219,.0452723],[25.09988858,.0461223],[25.19988486,.0469845],[25.29988104,.0478591],[25.3998771,.048746],[25.49987306,.0496456],[25.59986889,.0505578],[25.69986462,.0514828],[25.79986022,.0524207],[25.8998557,.0533716],[25.99985105,.0543358],[26.09984627,.0553132],[26.19984136,.056304],[26.29983632,.0573083],[26.39983114,.0583263],[26.49982581,.0593581],[26.59982035,.0604038],[26.69981473,.0614635],[26.79980897,.0625373],[26.89980304,.0636255],[26.99979697,.0647281],[27.09979073,.0658452],[27.19978432,.066977],[27.29977775,.0681235],[27.399771,.069285],[27.49976408,.0704616],[27.59975698,.0716534],[27.69974969,.0728604],[27.79974222,.074083],[27.89973455,.0753211],[27.99972669,.0765749],[28.09971863,.0778446],[28.19971037,.0791302],[28.29970189,.080432],[28.39969321,.08175],[28.4996843,.0830844],[28.59967518,.0844353],[28.69966583,.0858029],[28.79965624,.0871873],[28.89964643,.0885886],[28.99963637,.0900069],[29.09962606,.0914425],[29.19961551,.0928954],[29.29960469,.0943658],[29.39959362,.0958538],[29.49958229,.0973596],[29.59957068,.0988833],[29.69955879,.100425],[29.79954663,.1019848],[29.89953417,.103563],[29.99952142,.1051597],[30.09950838,.106775],[30.19949503,.108409],[30.29948136,.1100619],[30.39946739,.1117338],[30.49945309,.1134249],[30.59943846,.1151353],[30.69942349,.1168652],[30.79940819,.1186147],[30.89939254,.1203839],[30.99937653,.1221731],[31.09936016,.1239823],[31.19934343,.1258116],[31.29932632,.1276613],[31.39930883,.1295315],[31.49929095,.1314224],[31.59927268,.133334],[31.699254,.1352665],[31.79923492,.1372201],[31.89921542,.139195],[31.99919549,.1411912],[32.09917513,.1432089],[32.19915433,.1452483],[32.29913309,.1473096],[32.39911138,.1493928],[32.49908922,.1514981],[32.59906658,.1536257],[32.69904347,.1557758],[32.79901986,.1579484],[32.89899576,.1601438],[32.99897115,.162362],[33.09894603,.1646033],[33.19892039,.1668678],[33.29889422,.1691557],[33.3988675,.171467],[33.49884024,.173802],[33.59881241,.1761608],[33.69878402,.1785436],[33.79875505,.1809505],[33.89872549,.1833816],[33.99869534,.1858372],[34.09866458,.1883174],[34.1986332,.1908224],[34.29860119,.1933522],[34.39856855,.1959071],[34.49853526,.1984872],[34.59850131,.2010927],[34.69846669,.2037237],[34.79843139,.2063804],[34.89839541,.209063],[34.99835872,.2117716],[35.09832132,.2145063],[35.19828319,.2172674],[35.29824433,.2200549],[35.39820472,.2228691],[35.49816436,.2257101],[35.59812322,.2285781],[35.69808131,.2314732],[35.7980386,.2343955],[35.89799508,.2373454],[35.99795074,.2403228],[36.09790558,.243328],[36.19785957,.2463611],[36.2978127,.2494223],[36.39776496,.2525118],[36.49771635,.2556297],[36.59766683,.2587762],[36.69761641,.2619514],[36.79756506,.2651555],[36.89751278,.2683887],[36.99745955,.2716512],[37.09740535,.274943],[37.19735018,.2782644],[37.29729402,.2816155],[37.39723684,.2849964],[37.49717865,.2884075],[37.59711942,.2918487],[37.69705914,.2953203],[37.7969978,.2988225],[37.89693537,.3023554],[37.99687185,.3059191],[38.09680722,.3095139],[38.19674145,.3131399],[38.29667455,.3167973],[38.39660649,.3204862],[38.49653725,.3242068],[38.59646682,.3279592],[38.69639518,.3317437],[38.79632232,.3355604],[38.89624822,.3394094],[38.99617285,.343291],[39.09609622,.3472053],[39.19601829,.3511524],[39.29593905,.3551325],[39.39585848,.3591459],[39.49577657,.3631926],[39.59569329,.3672728],[39.69560863,.3713868],[39.79552257,.3755346],[39.89543509,.3797164],[39.99534618,.3839324],[40.09525581,.3881828],[40.19516397,.3924677],[40.29507063,.3967873],[40.39497577,.4011418],[40.49487939,.4055313],[40.59478145,.409956],[40.69468194,.414416],[40.79458084,.4189116],[40.89447812,.4234429],[40.99437377,.4280101],[41.09426776,.4326133],[41.19416008,.4372527],[41.29405071,.4419285],[41.39393962,.4466408],[41.49382679,.4513899],[41.5937122,.4561758],[41.69359582,.4609987],[41.79347765,.4658589],[41.89335765,.4707564],[41.9932358,.4756915],[42.09311208,.4806643],[42.19298646,.485675],[42.29285893,.4907237],[42.39272946,.4958106],[42.49259803,.5009359],[42.59246461,.5060998],[42.69232919,.5113024],[42.79219173,.5165439],[42.89205221,.5218244],[42.99191061,.5271442],[43.0917669,.5325033],[43.19162106,.537902],[43.29147307,.5433404],[43.3913229,.5488187],[43.49117052,.5543371],[43.59101591,.5598957],[43.69085904,.5654947],[43.79069989,.5711342],[43.89053844,.5768145],[43.99037464,.5825357],[44.09020849,.5882979],[44.19003995,.5941013],[44.28986899,.5999461],[44.38969559,.6058325],[44.48951972,.6117606],[44.58934136,.6177306],[44.68916047,.6237427],[44.78897703,.629797],[44.88879101,.6358936],[44.98860238,.6420328],[45.08841112,.6482148],[45.18821719,.6544396],[45.28802056,.6607075],[45.38782121,.6670185],[45.48761911,.673373],[45.58741423,.679771],[45.68720653,.6862127],[45.786996,.6926983],[45.88678259,.6992279],[45.98656628,.7058017],[46.08634704,.7124199],[46.18612483,.7190826],[46.28589963,.72579],[46.3856714,.7325423],[46.48544012,.7393396],[46.58520575,.746182],[46.68496826,.7530698],[46.78472761,.7600032],[46.88448378,.7669821],[46.98423674,.774007],[47.08398644,.7810778],[47.18373286,.7881947],[47.28347597,.795358],[47.38321572,.8025678],[47.4829521,.8098242],[47.58268506,.8171274],[47.68241457,.8244775],[47.78214059,.8318748],[47.8818631,.8393194],[47.98158205,.8468114],[48.08129742,.854351],[48.18100916,.8619384],[48.28071724,.8695737],[48.38042163,.8772571],[48.48012229,.8849887],[48.57981919,.8927687],[48.67951229,.9005973],[48.77920155,.9084745],[48.87888693,.9164007],[48.97856841,.9243758],[49.07824593,.9324002],[49.17791948,.9404739],[49.277589,.9485971],[49.37725446,.95677],[49.47691583,.9649926],[49.57657305,.9732652],[49.67622611,.981588],[49.77587496,.989961],[49.87551955,.9983845],[49.97515986,1.0068585],[50.07479583,1.0153833],[50.17442744,1.0239589],[50.27405465,1.0325856],[50.3736774,1.0412636],[50.47329568,1.0499928],[50.57290942,1.0587736],[50.6725186,1.067606],[50.77212317,1.0764902],[50.87172309,1.0854264],[50.97131832,1.0944147],[51.07090882,1.1034552],[51.17049456,1.1125482],[51.27007547,1.1216937],[51.36965154,1.1308919],[51.4692227,1.140143],[51.56878893,1.1494471],[51.66835018,1.1588043],[51.7679064,1.1682149],[51.86745755,1.1776789],[51.9670036,1.1871965],[52.06654449,1.1967678],[52.16608019,1.206393],[52.26561064,1.2160723],[52.36513582,1.2258058],[52.46465566,1.2355935],[52.56417013,1.2454358],[52.66367919,1.2553326],[52.76318278,1.2652842],[52.86268087,1.2752908],[52.9621734,1.2853523],[53.06166034,1.2954691],[53.16114164,1.3056412],[53.26061725,1.3158687],[53.36008712,1.3261519],[53.45955122,1.3364908],[53.55900949,1.3468856],[53.65846189,1.3573365],[53.75790836,1.3678435],[53.85734888,1.3784069],[53.95678338,1.3890267],[54.05621181,1.3997031],[54.15563415,1.4104362],[54.25505032,1.4212262],[54.35446029,1.4320731],[54.45386402,1.4429773],[54.55326144,1.4539387],[54.65265251,1.4649575],[54.75203719,1.4760338],[54.85141542,1.4871678],[54.95078716,1.4983597],[55.05015236,1.5096095],[55.14951096,1.5209173],[55.24886292,1.5322834],[55.34820819,1.5437078],[55.44754672,1.5551907],[55.54687845,1.5667322],[55.64620334,1.5783324],[55.74552134,1.5899915],[55.8448324,1.6017096],[55.94413646,1.6134868],[56.04343348,1.6253233],[56.1427234,1.6372192],[56.24200618,1.6491745],[56.34128175,1.6611895],[56.44055008,1.6732642],[56.5398111,1.6853989],[56.63906476,1.6975935],[56.73831102,1.7098483],[56.83754982,1.7221634],[56.93678111,1.7345388],[57.03600483,1.7469747],[57.13522094,1.7594713],[57.23442938,1.7720286],[57.33363009,1.7846468],[57.43282302,1.7973259],[57.53200813,1.8100662],[57.63118535,1.8228677],[57.73035463,1.8357306],[57.82951592,1.8486549],[57.92866916,1.8616409],[58.0278143,1.8746885],[58.12695128,1.8877979],[58.22608006,1.9009693],[58.32520057,1.9142028],[58.42431276,1.9274984],[58.52341658,1.9408563],[58.62251196,1.9542766],[58.72159886,1.9677594],[58.82067722,1.9813048],[58.91974698,1.994913],[59.01880809,2.008584],[59.11786048,2.022318],[59.21690412,2.036115],[59.31593893,2.0499752],[59.41496486,2.0638987],[59.51398186,2.0778857],[59.61298987,2.0919361],[59.71198883,2.1060501],[59.81097869,2.1202278],[59.90995938,2.1344694],[60.00893085,2.1487749],[60.10789305,2.1631444],[60.20684591,2.1775781],[60.30578938,2.192076],[60.4047234,2.2066382],[60.50364792,2.2212649],[60.60256286,2.2359562],[60.70146819,2.2507121],[60.80036383,2.2655327],[60.89924973,2.2804182],[60.99812583,2.2953687],[61.09699207,2.3103842],[61.1958484,2.3254649],[61.29469475,2.3406108],[61.39353107,2.355822],[61.4923573,2.3710987],[61.59117337,2.3864409],[61.68997923,2.4018487],[61.78877482,2.4173223],[61.88756007,2.4328617],[61.98633494,2.448467],[62.08509936,2.4641383],[62.18385327,2.4798757],[62.2825966,2.4956792],[62.38132931,2.5115491],[62.48005133,2.5274853],[62.5787626,2.543488],[62.67746305,2.5595572],[62.77615264,2.575693],[62.87483129,2.5918956],[62.97349896,2.6081649],[63.07215557,2.6245012],[63.17080106,2.6409044],[63.26943538,2.6573747],[63.36805847,2.6739121],[63.46667026,2.6905168],[63.56527069,2.7071887],[63.66385971,2.7239281],[63.76243725,2.7407349],[63.86100324,2.7576092],[63.95955763,2.7745512],[64.05810036,2.791561],[64.15663136,2.8086385],[64.25515058,2.8257838],[64.35365795,2.8429971],[64.4521534,2.8602785],[64.55063689,2.8776279],[64.64910834,2.8950455],[64.7475677,2.9125313],[64.84601489,2.9300855],[64.94444987,2.9477081],[65.04287257,2.9653991],[65.14128292,2.9831587],[65.23968087,3.0009868],[65.33806634,3.0188837],[65.43643929,3.0368493],[65.53479965,3.0548837],[65.63314734,3.072987],[65.73148232,3.0911593],[65.82980452,3.1094006],[65.92811388,3.127711],[66.02641033,3.1460905],[66.12469382,3.1645392],[66.22296427,3.1830573],[66.32122163,3.2016446],[66.41946584,3.2203014],[66.51769682,3.2390277],[66.61591453,3.2578235],[66.71411889,3.2766889],[66.81230984,3.2956239],[66.91048733,3.3146287],[67.00865128,3.3337033],[67.10680164,3.3528476],[67.20493833,3.3720619],[67.30306131,3.3913461],[67.4011705,3.4107003],[67.49926585,3.4301246],[67.59734728,3.449619],[67.69541475,3.4691836],[67.79346817,3.4888184],[67.8915075,3.5085234],[67.98953267,3.5282988],[68.08754361,3.5481446],[68.18554026,3.5680608],[68.28352256,3.5880475],[68.38149045,3.6081048],[68.47944386,3.6282326],[68.57738273,3.648431],[68.675307,3.6687001],[68.7732166,3.68904],[68.87111148,3.7094506],[68.96899156,3.7299321],[69.06685678,3.7504843],[69.16470709,3.7711076],[69.26254242,3.7918017],[69.36036271,3.8125669],[69.45816788,3.8334031],[69.55595789,3.8543103],[69.65373267,3.8752887],[69.75149215,3.8963383],[69.84923627,3.917459],[69.94696497,3.938651],[70.04467819,3.9599143],[70.14237586,3.9812489],[70.24005792,4.0026548],[70.33772431,4.0241321],[70.43537497,4.0456809],[70.53300982,4.0673011],[70.63062882,4.0889928],[70.7282319,4.1107561],[70.82581899,4.1325909],[70.92339003,4.1544973],[71.02094496,4.1764754],[71.11848372,4.1985251],[71.21600625,4.2206465],[71.31351248,4.2428396],[71.41100234,4.2651045],[71.50847579,4.2874412],[71.60593275,4.3098497],[71.70337317,4.33233],[71.80079698,4.3548822],[71.89820411,4.3775063],[71.99559452,4.4002023],[72.09296813,4.4229702],[72.19032488,4.4458102],[72.28766471,4.4687221],[72.38498757,4.491706],[72.48229338,4.514762],[72.57958209,4.5378901],[72.67685363,4.5610902],[72.77410795,4.5843624],[72.87134498,4.6077068],[72.96856465,4.6311234],[73.06576692,4.6546121],[73.16295171,4.6781729],[73.26011897,4.701806],[73.35726863,4.7255114],[73.45440064,4.7492889],[73.55151493,4.7731388],[73.64861144,4.7970609],[73.74569011,4.8210553],[73.84275088,4.845122],[73.93979369,4.869261],[74.03681848,4.8934724],[74.13382518,4.9177561],[74.23081374,4.9421122],[74.3277841,4.9665406],[74.42473619,4.9910415],[74.52166996,5.0156147],[74.61858534,5.0402604],[74.71548227,5.0649785],[74.8123607,5.089769],[74.90922057,5.1146319],[75.00606181,5.1395673],[75.10288436,5.1645752],[75.19968817,5.1896555],[75.29647317,5.2148083],[75.3932393,5.2400336],[75.48998652,5.2653313],[75.58671474,5.2907016],[75.68342393,5.3161443],[75.78011401,5.3416596],[75.87678493,5.3672473],[75.97343662,5.3929076],[76.07006904,5.4186403],[76.16668212,5.4444456],[76.26327579,5.4703235],[76.35985001,5.4962738],[76.45640471,5.5222966],[76.55293984,5.548392],[76.64945533,5.5745599],[76.74595114,5.6008003],[76.84242719,5.6271133],[76.93888343,5.6534988],[77.0353198,5.6799568],[77.13173625,5.7064873],[77.22813271,5.7330903],[77.32450913,5.7597659],[77.42086545,5.7865139],[77.51720161,5.8133345],[77.61351756,5.8402276],[77.70981323,5.8671932],[77.80608857,5.8942313],[77.90234353,5.9213418],[77.99857803,5.9485249],[78.09479204,5.9757805],[78.19098548,6.0031085],[78.2871583,6.030509],[78.38331045,6.057982],[78.47944187,6.0855274],[78.5755525,6.1131452],[78.67164228,6.1408356],[78.76771116,6.1685983],[78.86375908,6.1964335],[78.95978598,6.2243411],[79.05579181,6.2523211],[79.15177651,6.2803735],[79.24774002,6.3084982],[79.34368229,6.3366954],[79.43960327,6.3649649],[79.53550289,6.3933068],[79.63138109,6.4217211],[79.72723783,6.4502076],[79.82307305,6.4787665],[79.91888669,6.5073977],[80.0146787,6.5361012],[80.11044901,6.564877],[80.20619758,6.5937251],[80.30192434,6.6226455],[80.39762925,6.651638],[80.49331225,6.6807029],[80.58897328,6.7098399],[80.68461228,6.7390492],[80.78022921,6.7683306],[80.875824,6.7976842],[80.9713966,6.82711],[81.06694696,6.856608],[81.16247502,6.886178],[81.25798072,6.9158202],[81.35346402,6.9455345],[81.44892485,6.9753209],[81.54436316,7.0051794],[81.6397789,7.0351099],[81.73517201,7.0651125],[81.83054243,7.0951871],[81.92589012,7.1253337],[82.02121501,7.1555523],[82.11651706,7.1858429],[82.21179621,7.2162054],[82.3070524,7.2466399],[82.40228558,7.2771463],[82.49749569,7.3077246],[82.59268269,7.3383749],[82.68784651,7.3690969],[82.7829871,7.3998909],[82.87810441,7.4307567],[82.97319839,7.4616943],[83.06826897,7.4927037],[83.16331611,7.5237849],[83.25833975,7.5549379],[83.35333983,7.5861626],[83.44831631,7.617459],[83.54326913,7.6488272],[83.63819823,7.6802671],[83.73310356,7.7117786],[83.82798506,7.7433619],[83.92284269,7.7750167],[84.01767638,7.8067432],[84.11248609,7.8385413],[84.20727176,7.870411],[84.30203333,7.9023522],[84.39677076,7.934365],[84.49148398,7.9664494],[84.58617294,7.9986053],[84.68083759,8.0308326],[84.77547788,8.0631315],[84.87009375,8.0955018],[84.96468515,8.1279435],[85.05925202,8.1604567],[85.15379431,8.1930413],[85.24831196,8.2256973],[85.34280493,8.2584246],[85.43727315,8.2912233],[85.53171658,8.3240933],[85.62613516,8.3570346],[85.72052883,8.3900473],[85.81489755,8.4231312],[85.90924126,8.4562863],[86.0035599,8.4895127],[86.09785342,8.5228103],[86.19212177,8.5561792],[86.28636489,8.5896192],[86.38058274,8.6231303],[86.47477524,8.6567126],[86.56894236,8.690366],[86.66308404,8.7240906],[86.75720022,8.7578862],[86.85129085,8.7917529],[86.94535588,8.8256906],[87.03939526,8.8596994],[87.13340892,8.8937792],[87.22739681,8.9279299],[87.32135889,8.9621517],[87.41529509,8.9964444],[87.50920537,9.030808],[87.60308968,9.0652425],[87.69694795,9.099748],[87.79078014,9.1343242],[87.88458619,9.1689714],[87.97836605,9.2036894],[88.07211967,9.2384781],[88.16584699,9.2733377],[88.25954796,9.308268],[88.35322252,9.3432691],[88.44687063,9.3783409],[88.54049223,9.4134834],[88.63408726,9.4486966],[88.72765567,9.4839805],[88.82119741,9.519335],[88.91471243,9.5547601],[89.00820068,9.5902558],[89.10166208,9.6258222],[89.19509658,9.6614592],[89.28850414,9.6971667],[89.38188471,9.7329448],[89.47523825,9.7687933],[89.56856467,9.8047123],[89.66186393,9.8407019],[89.75513599,9.8767619],[89.84838079,9.9128923],[89.94159828,9.9490931],[90.0347884,9.9853643],[90.12795111,10.0217059],[90.22108634,10.0581178],[90.31419405,10.0946001],[90.40727425,10.1311524],[90.50032674,10.1677753],[90.59335155,10.2044684],[90.68634863,10.2412317],[90.77931796,10.2780652],[90.87225941,10.3149689],[90.96517299,10.3519428],[91.05805858,10.3889869],[91.15091618,10.4261012],[91.24374572,10.4632855],[91.33654715,10.5005399],[91.42932043,10.5378644],[91.5220655,10.575259],[91.6147823,10.6127236],[91.70747091,10.6502578],[91.80013103,10.6878624],[91.89276272,10.7255369],[91.98536593,10.7632813],[92.07794062,10.8010957],[92.17048672,10.83898],[92.26300429,10.8769339],[92.35549305,10.9149579],[92.44795306,10.9530518],[92.54038428,10.9912156],[92.63278665,11.0294491],[92.72516012,11.0677524],[92.81750464,11.1061254],[92.90982016,11.1445681],[93.00210662,11.1830806],[93.09436398,11.2216627],[93.18659218,11.2603144],[93.27879116,11.2990359],[93.37096087,11.3378269],[93.46310127,11.3766875],[93.55521231,11.4156176],[93.64729412,11.4546168],[93.73934626,11.493686],[93.83136886,11.5328247],[93.9233619,11.5720329],[94.01532526,11.6113106],[94.10725892,11.6506578],[94.19916284,11.6900744],[94.29103697,11.7295604],[94.38288125,11.7691158],[94.47469564,11.8087406],[94.56648003,11.8484347],[94.65823446,11.8881981],[94.74995883,11.9280307],[94.8416531,11.9679326],[94.93331721,12.0079037],[95.02495112,12.0479441],[95.11655477,12.0880536],[95.20812821,12.128232],[95.29967132,12.1684794],[95.39118383,12.2087964],[95.48266587,12.2491825],[95.57411726,12.289638],[95.66553817,12.3301623],[95.75692844,12.3707556],[95.84828804,12.4114179],[95.9396169,12.4521492],[96.03091497,12.4929495],[96.12218253,12.533818],[96.2134189,12.5747561],[96.30462432,12.615763],[96.39579875,12.6568389],[96.48694214,12.6979835],[96.57805444,12.739197],[96.66913589,12.7804785],[96.76018585,12.8218295],[96.85120455,12.8632492],[96.94219193,12.9047377],[97.03314797,12.9462949],[97.12407261,12.9879207],[97.21496579,13.0296152],[97.30582746,13.0713783],[97.39665758,13.11321],[97.48745609,13.1551102],[97.57822273,13.1970794],[97.66895779,13.2391169],[97.75966112,13.2812227],[97.85033264,13.323397],[97.94097228,13.3656398],[98.03158006,13.4079509],[98.12215634,13.4503293],[98.21270008,13.4927772],[98.30321172,13.5352936],[98.39369122,13.5778783],[98.48413857,13.6205312],[98.57455366,13.6632526],[98.6649364,13.7060423],[98.75528684,13.7489001],[98.8456049,13.7918262],[98.93589051,13.8348205],[99.02614363,13.8778829],[99.1163642,13.9210135],[99.20655218,13.9642122],[99.2967075,14.007479],[99.38683013,14.0508139],[99.47692028,14.0942161],[99.56697731,14.1376872],[99.65700146,14.1812263],[99.74699272,14.2248334],[99.83695102,14.2685084],[99.92687629,14.3122514],[100.0167685,14.3560623],[100.1066276,14.3999411],[100.1964535,14.4438877],[100.2862462,14.4879022],[100.3760057,14.5319844],[100.4657318,14.5761344],[100.5554246,14.6203521],[100.645084,14.6646376],[100.7347094,14.7089917],[100.8243015,14.7534132],[100.9138606,14.7979008],[101.0033857,14.8424571],[101.0928772,14.8870808],[101.1823352,14.9317715],[101.27176,14.9765286],[101.3611502,15.0213549],[101.4505065,15.0662487],[101.539829,15.1112097],[101.6291174,15.1562384],[101.7183718,15.2013346],[101.8075913,15.2464996],[101.8967774,15.2917307],[101.9859293,15.337029],[102.075047,15.3823946],[102.1641314,15.4278256],[102.2531805,15.4733256],[102.3421952,15.5188929],[102.4311756,15.5645271],[102.5201215,15.6102288],[102.6090328,15.6559976],[102.6979095,15.7018334],[102.7867516,15.7477364],[102.8755588,15.7937068],[102.9643315,15.8397438],[103.0530693,15.885848],[103.1417724,15.9320191],[103.2304405,15.9782571],[103.3190737,16.0245621],[103.407672,16.0709338],[103.4962353,16.1173724],[103.5847633,16.1638781],[103.6732562,16.2104507],[103.7617139,16.2570901],[103.8501364,16.3037962],[103.9385221,16.3505722],[104.0268738,16.397412],[104.1151902,16.4443184],[104.2034711,16.4912915],[104.2917181,16.5383282],[104.379928,16.5854345],[104.4681024,16.6326074],[104.5562411,16.6798468],[104.6443441,16.7271528],[104.7324115,16.7745248],[104.820443,16.8219637],[104.9084389,16.8694685],[104.996398,16.9170418],[105.0843216,16.9646804],[105.1722092,17.0123853],[105.2600608,17.0601567],[105.3478763,17.1079943],[105.4356557,17.1558982],[105.5233988,17.2038684],[105.611107,17.2519021],[105.6987776,17.3000046],[105.7864119,17.3481734],[105.8740098,17.3964083],[105.9615713,17.4447094],[106.0490962,17.4930766],[106.1365846,17.5415098],[106.2240364,17.5900092],[106.3114515,17.6385745],[106.3988305,17.6872046],[106.4861721,17.7359021],[106.573477,17.7846654],[106.660745,17.8334946],[106.7479761,17.8823897],[106.8351703,17.9313507],[106.9223276,17.9803773],[107.0094477,18.02947],[107.0965307,18.0786284],[107.1835747,18.1278564],[107.2705833,18.1771465],[107.3575547,18.2265022],[107.4444887,18.2759236],[107.5313874,18.3254066],[107.6182468,18.3749591],[107.7050687,18.4245772],[107.7918532,18.4742608],[107.8786001,18.52401],[107.9653096,18.5738243],[108.0519813,18.6237044],[108.1386152,18.67365],[108.2252114,18.7236611],[108.3117693,18.7737386],[108.3982898,18.8238805],[108.4847724,18.8740877],[108.5712171,18.9243603],[108.657623,18.9746995],[108.7439916,19.0251025],[108.8303231,19.0755693],[108.9166159,19.126102],[109.0028701,19.1767005],[109.0890861,19.2273642],[109.1752642,19.2780924],[109.2614036,19.3288862],[109.3475046,19.3797451],[109.4335672,19.4306689],[109.5195913,19.4816577],[109.6055769,19.5327115],[109.6915212,19.5838348],[109.7774295,19.6350184],[109.8633016,19.6862628],[109.9491325,19.737576],[110.0349248,19.788954],[110.1206785,19.8403961],[110.206393,19.8919037],[110.2920687,19.9434757],[110.3777053,19.9951126],[110.4633029,20.0468142],[110.5488614,20.0985804],[110.6343804,20.1504123],[110.7198606,20.2023079],[110.8053015,20.2542679],[110.8907032,20.3062925],[110.9760657,20.3583815],[111.0613887,20.4105349],[111.1466723,20.4627528],[111.2319166,20.5150349],[111.3171225,20.5673785],[111.4022878,20.6197892],[111.4874133,20.6722644],[111.5724992,20.7248036],[111.657543,20.777412],[111.7425495,20.8300799],[111.8275165,20.8828109],[111.9124393,20.935614],[111.997329,20.9884687],[112.0821801,21.041386],[112.1669871,21.0943743],[112.2517541,21.1474266],[112.336481,21.2005429],[112.4211678,21.2537232],[112.5058144,21.3069674],[112.5904204,21.360276],[112.6749865,21.413648],[112.7595123,21.4670838],[112.8439973,21.5205842],[112.9284425,21.5741473],[113.012847,21.6277743],[113.0972104,21.6814662],[113.1815338,21.7352207],[113.2658167,21.7890389],[113.3500594,21.8429192],[113.4342613,21.8968637],[113.5184225,21.9508717],[113.6025424,22.0049442],[113.6866213,22.0590802],[113.7706594,22.1132798],[113.8546566,22.1675427],[113.9386127,22.2218691],[114.0225278,22.2762589],[114.1064015,22.3307126],[114.1902343,22.3852291],[114.274026,22.4398089],[114.3577763,22.4944519],[114.4414854,22.5491582],[114.5251532,22.6039277],[114.6087796,22.6587604],[114.6923645,22.7136562],[114.7759075,22.7686159],[114.8594094,22.8236379],[114.9428702,22.8787221],[115.0262889,22.9338702],[115.1096665,22.9890804],[115.1930018,23.0443544],[115.2762898,23.0997011],[115.3595414,23.1551012],[115.442757,23.210554],[115.525925,23.2660796],[115.609051,23.321668],[115.692135,23.3773192],[115.7751769,23.4330331],[115.8581767,23.4888097],[115.9411344,23.544649],[116.0240499,23.600551],[116.1069231,23.6565156],[116.189754,23.7125427],[116.2725426,23.7686325],[116.3552889,23.8247847],[116.4379926,23.8809994],[116.520654,23.9372766],[116.6032727,23.9936162],[116.6858489,24.0500182],[116.7683825,24.1064825],[116.8508732,24.1630095],[116.9333214,24.2195985],[117.0157268,24.2762498],[117.0980895,24.3329632],[117.1804092,24.389739],[117.262686,24.4465769],[117.3449198,24.503477],[117.4271107,24.5604391],[117.5092554,24.6174697],[117.59136,24.6745561],[117.6734208,24.7317058],[117.7554386,24.7889174],[117.8374171,24.8461827],[117.9193485,24.9035175],[118.001237,24.9609135],[118.0830822,25.0183713],[118.164885,25.0758891],[118.2466425,25.1334717],[118.3283552,25.1911177],[118.4100301,25.2488159],[118.4916578,25.3065821],[118.5732426,25.3644088],[118.6547825,25.4222992],[118.7362791,25.4802502],[118.8177319,25.5382627],[118.899141,25.5963365],[118.9805061,25.654472],[119.0618273,25.7126689],[119.1431046,25.7709272],[119.2243378,25.8292469],[119.3055275,25.8876267],[119.3866666,25.9460775],[119.4677674,26.0045811],[119.5488301,26.0631373],[119.6298425,26.1217633],[119.7108106,26.1804503],[119.7917344,26.2391986],[119.8726138,26.2980079],[119.9534414,26.356891],[120.0342318,26.4158225],[120.1149852,26.474802],[120.1956859,26.5338563],[120.2763428,26.5929704],[120.3569549,26.6521455],[120.437523,26.7113804],[120.518046,26.7706763],[120.5985238,26.8300339],[120.6789568,26.8894523],[120.7593449,26.9489314],[120.839688,27.0084712],[120.9199861,27.0680717],[121.0002393,27.1277327],[121.0804473,27.1874543],[121.1606103,27.2472364],[121.2407281,27.3070791],[121.3208004,27.3669828],[121.4008277,27.4269464],[121.4808097,27.4869704],[121.5607463,27.5470547],[121.6406376,27.6071994],[121.7204732,27.6674189],[121.8002838,27.7276694],[121.8800387,27.7879948],[121.959748,27.8483803],[122.0394124,27.9088242],[122.1190304,27.96933],[122.1986031,28.0298949],[122.2781297,28.0905209],[122.3576103,28.1512071],[122.4370452,28.211953],[122.5164342,28.2727589],[122.5957774,28.3336246],[122.6750745,28.3945503],[122.7543256,28.4555358],[122.8335306,28.5165812],[122.9126885,28.577688],[122.9918012,28.6388529],[123.0708677,28.7000775],[123.149888,28.7613618],[123.228862,28.8227057],[123.3077905,28.8841077],[123.3866718,28.9455708],[123.4655062,29.007094],[123.5442945,29.0686761],[123.6230355,29.1303193],[123.7017301,29.1920213],[123.7803788,29.2537816],[123.8589808,29.3156014],[123.9375369,29.3774793],[124.0160454,29.4394178],[124.094508,29.501414],[124.1729228,29.5634711],[124.2512908,29.6255874],[124.3296118,29.6877628],[124.4078858,29.7499974],[124.4861128,29.8122911],[124.5642928,29.8746439],[124.6424256,29.9370557],[124.7205113,29.9995265],[124.798546,30.0620638],[124.8765371,30.1246528],[124.9544809,30.1873006],[125.0323773,30.2500074],[125.1102264,30.3127728],[125.1880179,30.375609],[125.2657722,30.4384919],[125.3434935,30.5014127],[125.4211528,30.564413],[125.4987644,30.6274718],[125.5763284,30.6905893],[125.6538446,30.7537654],[125.7313125,30.8170009],[125.8087332,30.880294],[125.8860971,30.9436613],[125.963422,31.007072],[126.0406989,31.0705407],[126.1179374,31.1340515],[126.1951186,31.1976366],[126.2722517,31.2612801],[126.3493367,31.3249818],[126.4263736,31.3887416],[126.5033623,31.4525596],[126.5803029,31.5164359],[126.657195,31.5803704],[126.7340388,31.644363],[126.8108343,31.7084136],[126.8875814,31.7725222],[126.9642801,31.8366887],[127.0409302,31.9009131],[127.1175319,31.9651955],[127.194085,32.0295356],[127.2705913,32.0939294],[127.3470471,32.158385],[127.4234543,32.2228984],[127.4998127,32.2874694],[127.5761224,32.3520981],[127.6523832,32.4167845],[127.7285951,32.4815284],[127.8047581,32.5463299],[127.8808719,32.611189],[127.956937,32.6761055],[128.032953,32.7410793],[128.1089199,32.8061106],[128.1848376,32.8711993],[128.2607062,32.9363453],[128.3365255,33.0015486],[128.4122943,33.066811],[128.488015,33.1321287],[128.5636865,33.1975036],[128.6393085,33.2629356],[128.7148822,33.328423],[128.7904053,33.3939692],[128.8658789,33.45957243],[128.9413016,33.52523468],[129.0166755,33.59095242],[129.0920003,33.65672635],[129.1672758,33.72255677],[129.2425,33.78844583],[129.3176769,33.85438812],[129.3928026,33.92038942],[129.4678785,33.98644745],[129.5429053,34.05256105],[129.6178812,34.11873251],[129.6928071,34.18496053],[129.7676831,34.2512451],[129.8425089,34.31758616],[129.9172847,34.38398376],[129.9919913,34.45046471],[130.0666804,34.51695404],[130.1413055,34.58352084],[130.2158851,34.65013897],[130.2904096,34.71681849],[130.3648837,34.78355425],[130.4393073,34.85034621],[130.5136805,34.91719432],[130.5880032,34.9840986],[130.6622754,35.05105898],[130.7364969,35.1180754],[130.8106679,35.18514783],[130.8847882,35.25227622],[130.9588581,35.31945945],[131.0328764,35.38670062],[131.1068443,35.45399693],[131.1807614,35.52134907],[131.2546131,35.58877329],[131.3284422,35.65622148],[131.4022066,35.72374079],[131.4759206,35.791315],[131.549584,35.85894381],[131.6231951,35.92663009],[131.6967552,35.99437192],[131.7702641,36.0621693],[131.8437217,36.13002213],[131.9171281,36.19793048],[131.9904832,36.26589414],[132.0637869,36.33391315],[132.1370393,36.40198751],[132.2102403,36.4701171],[132.2833898,36.53830192],[132.3564878,36.60654191],[132.4295343,36.67483704],[132.5025292,36.74318728],[132.5754733,36.81159053],[132.6483649,36.88005087],[132.7212048,36.94856622],[132.7939928,37.01713663],[132.8667292,37.08576182],[132.9394137,37.15444201],[133.0120463,37.22317699],[133.084627,37.29196682],[133.1571557,37.36081136],[133.2296323,37.42971076],[133.3020461,37.49868364],[133.3744185,37.56769247],[133.446739,37.63675582],[133.5189937,37.70588213],[133.5912099,37.77505437],[133.6633987,37.84425311],[133.7355057,37.91354346],[133.8075648,37.98287944],[133.8795715,38.05226976],[133.9515258,38.12171438],[134.0234263,38.19121502],[134.0952809,38.26075769],[134.1670779,38.33036473],[134.2388224,38.40002593],[134.3105153,38.46973972],[134.3821541,38.53950964],[134.4537389,38.60933554],[134.5252729,38.67921279],[134.5967538,38.74914433],[134.6681819,38.81912979],[134.7395585,38.8891671],[134.8108797,38.95926164],[134.8821491,39.02940869],[134.9533647,39.09961111],[135.0245289,39.16986469],[135.0956391,39.24017309],[135.1666963,39.31053513],[135.2377001,39.3809509],[135.3086509,39.45142015],[135.3795485,39.52194294],[135.4503927,39.59251934],[135.5211845,39.66314745],[135.5919221,39.73383065],[135.6626063,39.80456724],[135.7332371,39.87535717],[135.8038144,39.94620041],[135.8743382,40.01709692],[135.9448085,40.08804666],[136.0152017,40.159083],[136.0855645,40.23013924],[136.1558974,40.30121492],[136.226153,40.37237721],[136.2963549,40.44359257],[136.3665014,40.51486332],[136.4365956,40.58618469],[136.5066359,40.65755895],[136.5766223,40.72898609],[136.6465541,40.80046668],[136.716434,40.87199711],[136.7862583,40.94358261],[136.8560292,41.01522029],[136.9257453,41.08691132],[136.9954072,41.15865492],[137.0649796,41.23049095],[137.1345677,41.30230173],[137.2040668,41.37420332],[137.2735116,41.44615733],[137.3429021,41.51816376],[137.4122382,41.59022257],[137.4815198,41.66233372],[137.550747,41.73449716],[137.6199196,41.80671285],[137.6890377,41.87898076],[137.7581012,41.95130084],[137.8271123,42.0236681],[137.8960665,42.09609231],[137.9649661,42.16856856],[138.0338109,42.24109683],[138.102601,42.31367701],[138.1713361,42.38630924],[138.2400164,42.4589934],[138.3086417,42.53172935],[138.3772122,42.60451709],[138.4457277,42.67735664],[138.514188,42.75024804],[138.5825933,42.82319102],[138.6509435,42.89618566],[138.7192386,42.9692319],[138.7874784,43.04232988],[138.855663,43.11547939],[138.9237924,43.18868028],[138.9918664,43.26193261],[139.0598852,43.33523636],[139.1278486,43.40859144],[139.1957565,43.48199791],[139.2636089,43.55545568],[139.3314057,43.62896491],[139.3991471,43.70252514],[139.4668329,43.77613654],[139.5344632,43.84979903],[139.6020365,43.92351411],[139.6695553,43.99727878],[139.7370185,44.07109444],[139.804427,44.14495969],[139.8717784,44.2188773],[139.9390728,44.29284803],[140.0063125,44.36686737],[140.0734947,44.44093967],[140.1406226,44.51508185],[140.2076935,44.58925304],[140.2747094,44.66347475],[140.3416707,44.73774703],[140.4085763,44.81206992],[140.4754238,44.8864432],[140.542215,44.96086822],[140.6089501,45.03534398],[140.6756285,45.10986868],[140.742251,45.18444365],[140.8088171,45.25906899],[140.8753269,45.33374535],[140.9417803,45.4084696],[141.0081772,45.48324432],[141.0745176,45.55807038],[141.1408016,45.63294809],[141.2070289,45.70787422],[141.2731997,45.78285029],[141.3393137,45.85787633],[141.4053711,45.93295083],[141.4713718,46.00807584],[141.5373163,46.08325168],[141.6032034,46.15847818],[141.6690334,46.23375326],[141.7348068,46.30907815],[141.8004775,46.38448646],[141.8661351,46.45987628],[141.9317835,46.53535003],[141.9973289,46.61087329],[142.0628174,46.68644744],[142.1282488,46.76206954],[142.1936116,46.83774053],[142.2589284,46.91346138],[142.324188,46.98923034],[142.3894041,47.06504982],[142.4545494,47.14091791],[142.5196374,47.21683585],[142.584668,47.2928029],[142.6496413,47.36884315],[142.7145571,47.44490845],[142.7794155,47.52101094],[142.8442164,47.59717423],[142.9089596,47.67338641],[142.9736454,47.7496345],[143.0382735,47.82594423],[143.102844,47.90230281],[143.1673568,47.97871008],[143.2318123,48.05516602],[143.2962096,48.13167151],[143.3605206,48.20822619],[143.4248021,48.28482822],[143.4890542,48.36147862],[143.5532201,48.43817648],[143.6173279,48.51492384],[143.6813779,48.59171957],[143.7453697,48.66856394],[143.8093036,48.74545541],[143.8731794,48.82240106],[143.936997,48.89938253],[144.0007565,48.97641945],[144.0644578,49.05350445],[144.128101,49.13063757],[144.1916805,49.2078187],[144.2552069,49.28504785],[144.3186749,49.36232491],[144.3820845,49.43966419],[144.4454357,49.51702281],[144.5087344,49.59444348],[144.5719688,49.67191191],[144.6351448,49.74942807],[144.6982621,49.8269919],[144.7613219,49.90460337],[144.824322,49.98226243],[144.8872624,50.05996978],[144.9501453,50.13772386],[145.0129694,50.21552973],[145.0757012,50.29337893],[145.1384417,50.37127539],[145.2010877,50.44921929],[145.2636768,50.52721047],[145.3262058,50.6052489],[145.3886767,50.68332883],[145.4510887,50.76146149],[145.5134416,50.83970429],[145.5757355,50.91790684],[145.6379704,50.996142],[145.7001462,51.07446284],[145.7622643,51.15283217],[145.8243216,51.2312481],[145.8863198,51.30970967],[145.9482597,51.38821793],[146.0101391,51.46677467],[146.0719594,51.54537484],[146.1337201,51.62402315],[146.1954215,51.702719],[146.2570635,51.78145935],[146.318646,51.86024598],[146.3801691,51.93908066],[146.4416325,52.01796188],[146.5030365,52.09688962],[146.5643807,52.17586342],[146.6256652,52.2548851],[146.6868901,52.33395099],[146.7480552,52.41306355],[146.8091607,52.49222176],[146.8702065,52.57142536],[146.9311923,52.65067641],[146.9921184,52.7299735],[147.0529846,52.80931653],[147.1137907,52.8887055],[147.1745369,52.96817435],[147.2352232,53.04762129],[147.2957902,53.12714785],[147.3564135,53.20672016],[147.4169196,53.2863382],[147.4773656,53.36602878],[147.5377514,53.44573816],[147.5980787,53.52546734],[147.6583439,53.60526595],[147.7184917,53.68511186],[147.7786937,53.7650032],[147.838778,53.84493996],[147.898802,53.92492198],[147.9587655,54.00494941],[148.0186686,54.0850348],[148.0785113,54.16515306],[148.1382935,54.24531625],[148.1980151,54.32551212],[148.2576761,54.40576472],[148.3172765,54.48606312],[148.3768163,54.56640652],[148.4362954,54.64682321],[148.4957137,54.72725556],[148.5550713,54.80773275],[148.6143681,54.88825473],[148.673604,54.96882142],[148.7327792,55.0494328],[148.7918934,55.1300888],[148.8509467,55.21078939],[148.9099391,55.29153453],[148.9688704,55.37232424],[149.0277408,55.4531583],[149.0865502,55.53403676],[149.1452976,55.61496157],[149.2039846,55.695929],[149.2626105,55.77694069],[149.321175,55.85799686],[149.3796783,55.9390971],[149.4381205,56.02024129],[149.4965015,56.10142955],[149.5548213,56.1826618],[149.6130796,56.26393812],[149.6712758,56.34525903],[149.7294113,56.42662311],[149.7874879,56.5080254],[149.8455009,56.58947673],[149.903452,56.67097217],[149.9613416,56.75251135],[150.0191695,56.83409421],[150.0769359,56.91572071],[150.1346405,56.99739087],[150.192282,57.07910726],[150.2498632,57.16086446],[150.3073826,57.24266517],[150.3648403,57.32450928],[150.4222361,57.40639673],[150.4795677,57.48833088],[150.5368399,57.57030483],[150.5940516,57.65231936],[150.6511158,57.73444975],[150.7082849,57.81648462],[150.7653113,57.8986282],[150.8222735,57.98081782],[150.8791748,58.0630493],[150.9360128,58.14532496],[150.9927886,58.22764353],[151.0495023,58.31000496],[151.1061537,58.3924092],[151.1627429,58.47485622],[151.2192699,58.55734585],[151.2757345,58.6398783],[151.3321367,58.72245339],[151.3884766,58.80507106],[151.444754,58.8877314],[151.500969,58.9704341],[151.5571215,59.05317913],[151.6132115,59.13596669],[151.669239,59.21879659],[151.7252039,59.30166879],[151.7811062,59.38458325],[151.8369459,59.46753992],[151.8926891,59.55058688],[151.9484032,59.63362803],[152.0040546,59.7167112],[152.0596775,59.79978773],[152.1152035,59.88295473],[152.1706667,59.96616367],[152.226067,60.0494145],[152.281389,60.1327337],[152.3366633,60.21606848],[152.3918743,60.29944522],[152.4470226,60.38286348],[152.5021241,60.46629566],[152.5571461,60.54979781],[152.6121034,60.63334297],[152.6669998,60.71692713],[152.721833,60.80055272],[152.7766048,60.88421761],[152.8313116,60.96792607],[152.8859551,61.05167583],[152.9405355,61.1354668],[152.9950525,61.21929895],[153.0495061,61.3031724],[153.1038964,61.38715506],[153.158223,61.47110946],[153.2124864,61.55510715],[153.2666863,61.63914524],[153.3208235,61.72321099],[153.3748964,61.80733054],[153.4289058,61.89149112],[153.4828516,61.9756922],[153.5367338,62.05993429],[153.5905523,62.14421712],[153.6443072,62.22854045],[153.6979983,62.31290438],[153.7516258,62.39730879],[153.8051892,62.48175385],[153.8586892,62.56623918],[153.9121253,62.65076483],[153.9654976,62.73537726],[154.0188061,62.8199373],[154.0720505,62.90458391],[154.1252309,62.98927071],[154.1783474,63.07399781],[154.2313999,63.15876485],[154.2843883,63.24357191],[154.3373126,63.32841896],[154.3901729,63.41330595],[154.442969,63.49823283],[154.4957009,63.58319956],[154.5483686,63.66820608],[154.6009722,63.75325235],[154.6534421,63.83833832],[154.7059865,63.92346398],[154.7583972,64.0086292],[154.8107436,64.09383835],[154.8630256,64.17908281],[154.9152432,64.26436619],[154.9673964,64.34968943],[155.0194852,64.43511234],[155.0713985,64.52045401],[155.1234671,64.60589006],[155.1753625,64.69137038],[155.2271928,64.77688986],[155.2789583,64.86244846],[155.3306597,64.94804611],[155.3822984,65.03368278],[155.4338708,65.11935847],[155.485378,65.20507309],[155.5368205,65.29082658],[155.5881982,65.3766189],[155.6395087,65.46244998],[155.6907568,65.54831972],[155.741934,65.63422821],[155.7930522,65.72017566],[155.8441075,65.80616145],[155.8950957,65.89218933],[155.946019,65.97825395],[155.9968773,66.06435507],[156.0476775,66.15049455],[156.0984058,66.23667232],[156.1490687,66.32289056],[156.1996667,66.40914171],[156.2501996,66.49543423],[156.3006673,66.58176368],[156.3510698,66.66813091],[156.4014072,66.75453924],[156.4516791,66.84098314],[156.5018858,66.92746585],[156.5520271,67.01398608],[156.6021029,67.10054324],[156.6521141,67.18713954],[156.7020593,67.27377201],[156.751939,67.36044472],[156.8017523,67.44715399],[156.851501,67.53390048],[156.9011841,67.62068406],[156.9508016,67.70750619],[157.0003535,67.79436619],[157.0498399,67.88126297],[157.0992606,67.96819709],[157.1486156,68.05516826],[157.197905,68.142177],[157.2471286,68.2292229],[157.2962865,68.31633305],[157.3453797,68.40345324],[157.3944043,68.49058324],[157.4433648,68.57777744],[157.4922595,68.66500853],[157.5410896,68.75227659],[157.5898523,68.8395815],[157.6385491,68.9269232],[157.6871799,69.01430165],[157.7357447,69.10171668],[157.7842438,69.1891685],[157.8326764,69.27665666],[157.8810344,69.3641939],[157.9293353,69.45175552],[157.9775702,69.53935357],[158.0257462,69.62697539],[158.0738487,69.71464607],[158.1218851,69.80235299],[158.1698555,69.89009605],[158.2177592,69.97787549],[158.2655967,70.06569109],[158.3133677,70.15354293],[158.3609469,70.24154804],[158.4087109,70.3293544],[158.4562828,70.41731416],[158.5037883,70.50530981],[158.5512274,70.59334131],[158.5985998,70.68140868],[158.6459061,70.76951159],[158.6931456,70.85765035],[158.7403185,70.94582476],[158.7874247,71.03403476],[158.8344624,71.1222843],[158.8814353,71.21056579],[158.9283415,71.29888243],[158.9751811,71.38723446],[159.0219539,71.47562181],[159.06866,71.56404444],[159.1152992,71.6525023],[159.1618742,71.74099039],[159.2083797,71.82951876],[159.2548186,71.91808198],[159.3011905,72.00668022],[159.3474955,72.09531345],[159.3937336,72.18398161],[159.4399052,72.27268349],[159.4860094,72.36142134],[159.5320464,72.45019408],[159.578017,72.53900118],[159.6239204,72.62784293],[159.6697562,72.71671976],[159.7155249,72.80563107],[159.7612264,72.89457684],[159.8068606,72.98355733],[159.8524275,73.07257282],[159.8979274,73.16162201],[159.9433603,73.25070512],[159.9887257,73.33982289],[160.0340238,73.42897494],[160.0792545,73.51816117],[160.1244179,73.60738153],[160.1695139,73.69663596],[160.214542,73.7859255],[160.2595031,73.87524796],[160.3043295,73.96464016],[160.3492233,74.0539938],[160.393982,74.1434178],[160.4386721,74.23287725],[160.4832956,74.32236885],[160.5278515,74.41189412],[160.5723391,74.50145374],[160.6167598,74.59104616],[160.6611128,74.6806721],[160.7053975,74.77033209],[160.7496149,74.86002508],[160.7937659,74.94974958],[160.8378466,75.03951068],[160.881861,75.12930335],[160.9258069,75.21912953],[160.9696856,75.30898856],[161.0134983,75.39887897],[161.0572417,75.48880343],[161.1009174,75.57876086],[161.1445243,75.66875219],[161.1880633,75.75877642],[161.2315342,75.8488335],[161.2749374,75.93892266],[161.3182722,76.02904531],[161.361539,76.11920066],[161.4047378,76.2093886],[161.4478683,76.29960921],[161.4909313,76.38986207],[161.5339255,76.48014773],[161.5768515,76.57046585],[161.6197093,76.66081643],[161.6624988,76.75119929],[161.7051265,76.84166436],[161.7478731,76.93206184],[161.7904389,77.02256829],[161.832955,77.11308031],[161.8753126,77.20369923],[161.9178015,77.29417286],[161.9601127,77.38478071],[162.0023555,77.4754204],[162.0445232,77.56610335],[162.0866274,77.65681008],[162.1286647,77.74754518],[162.1706402,77.83830051],[162.2125404,77.92909914],[162.254372,78.01992938],[162.2961347,78.11079128],[162.3378291,78.20168458],[162.3794565,78.29260567],[162.4210139,78.38356164],[162.4625024,78.474549],[162.5039223,78.5655672],[162.5452731,78.65661725],[162.5865554,78.74769806],[162.6277231,78.83886178],[162.6689131,78.92995401],[162.7099887,79.02112855],[162.7509955,79.1123341],[162.7919343,79.20357011],[162.8328031,79.29483775],[162.8736039,79.38613566],[162.9143351,79.4774646],[162.9549972,79.56882437],[162.9955902,79.6602149],[163.0361139,79.75163659],[163.0765689,79.84308828],[163.1169548,79.9345705],[163.1572712,80.02608338],[163.1975187,80.11762663],[163.2376971,80.20920021],[163.2778065,80.30080399],[163.3178467,80.39243802],[163.357818,80.48410153],[163.3977198,80.57579589],[163.4375523,80.66752036],[163.4771974,80.75933737],[163.5170097,80.85105889],[163.5566343,80.94287335],[163.5961896,81.0347177],[163.6356762,81.12659149],[163.6750927,81.2184955],[163.714441,81.31042868],[163.7537187,81.40239209],[163.7929269,81.49438513],[163.8320653,81.58640803],[163.8711345,81.6784602],[163.910134,81.77054199],[163.9490641,81.86265308],[163.9879245,81.95479366],[164.0267154,82.04696347],[164.0654367,82.13916252],[164.1040884,82.23139078],[164.1426704,82.32364818],[164.1811834,82.41593354],[164.219626,82.50824913],[164.2579989,82.60059372],[164.2963021,82.69296725],[164.3345346,82.78537113],[164.3726979,82.8778026],[164.4107918,82.97026262],[164.4488153,83.0627515],[164.4867695,83.15526891],[164.5246525,83.24781751],[164.5624665,83.34039275],[164.6002116,83.43299475],[164.6378859,83.5256266],[164.6754891,83.61828869],[164.7130235,83.71097728],[164.7504878,83.80367411],[164.7878832,83.89641724],[164.8252077,83.98918858],[164.8624631,84.08198806],[164.8996475,84.17481563],[164.9367608,84.26767152],[164.9738051,84.36055494],[165.010779,84.45346647],[165.0476846,84.5464058],[165.0845191,84.63937594],[165.1212836,84.732371],[165.1579767,84.82539211],[165.1945994,84.9184427],[165.2311518,85.01152091],[165.2676341,85.10462669],[165.304046,85.19776],[165.3402895,85.29091705],[165.3766585,85.38410534],[165.4128591,85.47732101],[165.4489895,85.57056409],[165.4850435,85.66383435],[165.52089,85.75713183],[165.5569519,85.85045648],[165.5928004,85.94380822],[165.6285845,86.03718706],[165.6642923,86.1305929],[165.6999292,86.2240257],[165.7354956,86.31748539],[165.770973,86.41097203],[165.8063984,86.50448536],[165.8417529,86.5980258],[165.8769045,86.69173],[165.9122684,86.78518593],[165.947411,86.8788059],[165.9824828,86.97245238],[166.0174847,87.06612534],[166.0524151,87.1598241],[166.0872734,87.25354989],[166.122062,87.34730186],[166.1567798,87.44108026],[166.1914267,87.53488487],[166.2260026,87.62871564],[166.2605315,87.72257265],[166.2949667,87.81645546],[166.3293307,87.91036446],[166.3636239,88.0042994],[166.3978461,88.09826024],[166.4319973,88.1922469],[166.4660774,88.2862594],[166.5000866,88.38029763],[166.5340246,88.47436162],[166.5678917,88.56845118],[166.6016877,88.66256632],[166.6354126,88.75670698],[166.6690664,88.85087311],[166.702649,88.94506466],[166.7361606,89.03938916],[166.7696009,89.13363241],[166.8029701,89.22790099],[166.8362681,89.32219519],[166.8694948,89.41651427],[166.9026504,89.51085811],[166.9357347,89.60522622],[166.9687406,89.69962001],[167.0016809,89.7940387],[167.0345503,89.8884831],[167.0673491,89.98295106],[167.1000754,90.07744418],[167.1327314,90.17196254],[167.1653178,90.26650329],[167.1978392,90.36107031],[167.2302811,90.45566184],[167.2626516,90.55027784],[167.2949506,90.64491773],[167.3271782,90.7395825],[167.3593356,90.83427092],[167.3914202,90.92898482],[167.4234332,91.02372236],[167.4553747,91.11848227],[167.4872482,91.213268],[167.5190465,91.30807895],[167.5507733,91.40291272],[167.5824284,91.49777032],[167.6140119,91.59265159],[167.6455244,91.68755658],[167.6769644,91.78248577],[167.7083328,91.87743868],[167.7393758,91.97241404],[167.7708531,92.06741443],[167.8020062,92.16243813],[167.8330841,92.2574869],[167.8640936,92.35255766],[167.8950313,92.44765206],[167.9258959,92.54276953],[167.95669,92.63791026],[167.9874122,92.73307411],[168.0180603,92.82826122],[168.048639,92.92346965],[168.0791494,93.01870458],[168.1095854,93.11397013],[168.1399481,93.20924946],[168.1702413,93.30455166],[168.20046,93.39987668],[168.2306067,93.49521568],[168.2606815,93.5905847],[168.2906843,93.68597831],[168.3206149,93.78139408],[168.3504733,93.8768301],[168.3802597,93.97229078],[168.4099737,94.06777412],[168.4396157,94.16328154],[168.4691857,94.25880958],[168.4986835,94.35435952],[168.5281086,94.44993332],[168.557462,94.54552984],[168.5867433,94.64114521],[168.6159523,94.73687059],[168.645089,94.83244416],[168.6741536,94.92812783],[168.7031427,95.02383142],[168.7320627,95.11955828],[168.7609105,95.21530695],[168.7896859,95.31107737],[168.818389,95.40686965],[168.8470197,95.50268344],[168.8755808,95.5985188],[168.904067,95.69437552],[168.9324804,95.79025317],[168.9608223,95.88615278],[168.9890908,95.98207403],[169.0172869,96.0780408],[169.0454111,96.17400468],[169.0734622,96.2699654],[169.1014407,96.36597157],[169.1293467,96.46200016],[169.1571802,96.55804849],[169.1849406,96.65411782],[169.2126232,96.75021107],[169.2402388,96.84632215],[169.2677818,96.94245421],[169.2952522,97.03860703],[169.3226499,97.13478055],[169.3498781,97.23097473],[169.3771308,97.32718793],[169.4044074,97.42342325],[169.4315211,97.51967596],[169.4585556,97.61595133],[169.4855174,97.71224797],[169.5124065,97.80856493],[169.5392228,97.90490217],[169.5659663,98.00125983],[169.5925907,98.09763762],[169.6191885,98.19403533],[169.64576,98.29045308],[169.6722124,98.38689082],[169.698592,98.4833485],[169.7248987,98.5798256],[169.7511335,98.676323],[169.7772943,98.77284038],[169.8033837,98.86937659],[169.8293987,98.9659332],[169.8553383,99.06256186],[169.8812073,99.15910817],[169.9070032,99.255724],[169.9327276,99.3523588],[169.9583776,99.44912032],[169.9839545,99.54569345],[170.0094585,99.64238642],[170.0348894,99.73909848],[170.0602472,99.83582231],[170.085532,99.93257279],[170.1107438,100.0293423],[170.1358824,100.1261309],[170.160948,100.222938],[170.1859404,100.3197641],[170.21084,100.4166089],[170.2356911,100.5134691],[170.2604649,100.6103518],[170.2851656,100.7072532],[170.3097931,100.8041732],[170.3343474,100.9011117],[170.3588285,100.9980688],[170.3832315,101.0950461],[170.407566,101.1920401],[170.4318273,101.2890524],[170.4560153,101.386083],[170.4801308,101.4831316],[170.5041721,101.5801988],[170.5281402,101.6772839],[170.552035,101.7743873],[170.5758622,101.8715066],[170.5996104,101.9686458],[170.6232852,102.0658028],[170.6468871,102.1629766],[170.6704142,102.2601707],[170.6938689,102.3573812],[170.71725,102.4546096],[170.7405576,102.5518555],[170.7637921,102.6491189],[170.7869531,102.7463997],[170.8100416,102.8436966],[170.8330564,102.9410119],[170.8559968,103.038345],[170.8788637,103.1356955],[170.9016573,103.2330631],[170.9243767,103.3304481],[170.9470223,103.4278502],[170.969595,103.5252693],[170.9920941,103.6227054],[171.0145196,103.7201585],[171.0368715,103.8176285],[171.0591476,103.9151193],[171.0813504,104.0126267],[171.1034814,104.1101473],[171.1255387,104.2076845],[171.1475211,104.3052399],[171.1694335,104.4028062],[171.1912696,104.5003936],[171.2130323,104.5979968],[171.2347234,104.6956121],[171.2563395,104.793247],[171.2778814,104.890899],[171.2993499,104.9885674],[171.3207439,105.0862521],[171.342064,105.183953],[171.3633103,105.28167],[171.3843734,105.3794945],[171.4055641,105.4771761],[171.426589,105.5749409],[171.4475543,105.6727008],[171.4684318,105.7704968],[171.4892373,105.8683067],[171.5099667,105.9661346],[171.5306223,106.0639781],[171.5512041,106.1618373],[171.5717111,106.2597133],[171.592146,106.3576028],[171.6125061,106.4555082],[171.6327919,106.5534295],[171.652973,106.6513723],[171.6731427,106.7493159],[171.6932017,106.8472844],[171.7131888,106.9452671],[171.7331046,107.0432641],[171.7529465,107.141276],[171.7727134,107.2393043],[171.7924072,107.3373461],[171.8120287,107.4354024],[171.8315744,107.5334738],[171.851047,107.6315585],[171.8704515,107.7296569],[171.8896891,107.8277895],[171.9090251,107.9259014],[171.9282006,108.0240459],[171.9472975,108.1222056],[171.9663247,108.2203789],[171.985069,108.3186778],[172.004157,108.4167677],[172.0229661,108.5149819],[172.0416967,108.6132122],[172.0603579,108.7114555],[172.0789402,108.8097139],[172.0974483,108.9079863],[172.115882,109.0062729],[172.1342417,109.1045731],[172.1525272,109.2028872],[172.1707371,109.3012155],[172.1888731,109.3995574],[172.2069359,109.4979125],[172.2249219,109.5962853],[172.2428355,109.6946684],[172.2606753,109.7930644],[172.2784407,109.8914737],[172.2961318,109.9898965],[172.313751,110.0883285],[172.3312489,110.186828],[172.3485702,110.285321],[172.366155,110.3837166],[172.3834744,110.4822054],[172.4007128,110.5807086],[172.4178829,110.679224],[172.434979,110.7777519],[172.4520007,110.8762925],[172.4689491,110.9748457],[172.4858221,111.0734117],[172.5026287,111.1719886],[172.5193527,111.2705803],[172.5360031,111.3691835],[172.5525781,111.4678004],[172.5690787,111.5664297],[172.5855048,111.6650714],[172.6018564,111.7637255],[172.6181331,111.862393],[172.6343357,111.9610717],[172.6504637,112.0597627],[172.6665172,112.1584659],[172.6824961,112.2571811],[172.6984005,112.3559084],[172.7142303,112.4546476],[172.7299856,112.5533988],[172.7456663,112.6521618],[172.7612724,112.7509366],[172.7768047,112.8497229],[172.7922616,112.9485212],[172.8076438,113.0473311],[172.8229514,113.1461526],[172.8381844,113.2449856],[172.8533439,113.3438273],[172.8684274,113.4426832],[172.8834365,113.5415505],[172.8983709,113.6404288],[172.9132306,113.7393186],[172.9280153,113.83822],[172.9427257,113.9371321],[172.9571433,114.0361162],[172.9719024,114.1350102],[172.9863849,114.2339618],[173.0007972,114.3329023],[173.0151337,114.4318693],[173.0293956,114.5308471],[173.0435825,114.6298349],[173.057691,114.7288399],[173.0717284,114.82785],[173.085702,114.9268683],[173.0996009,115.0258909],[173.1134183,115.1249252],[173.1271568,115.223977],[173.1408206,115.3230391],[173.1544095,115.4221115],[173.167925,115.5211937],[173.1813643,115.6202865],[173.1947293,115.7193894],[173.2080188,115.8185024],[173.2212336,115.9176253],[173.2343735,116.0167583],[173.2474385,116.1159011],[173.2604272,116.2150546],[173.2733415,116.314218],[173.2861807,116.4133916],[173.2989478,116.5125725],[173.3116383,116.6117639],[173.3242531,116.710965],[173.3367958,116.8101739],[173.349261,116.9093947],[173.3616518,117.0086241],[173.3738563,117.1079557],[173.3862078,117.2071114],[173.3983728,117.3063687],[173.4104639,117.4056349],[173.4224803,117.5049103],[173.4344216,117.6041947],[173.4462876,117.7034882],[173.4580819,117.8027898],[173.4697981,117.902101],[173.4814393,118.001421],[173.4930056,118.1007497],[173.5044974,118.2000857],[173.5159163,118.2994304],[173.527258,118.3987842],[173.5385242,118.4981475],[173.54949,118.5976386],[173.5608318,118.6968984],[173.5718728,118.7962869],[173.5828388,118.8956837],[173.5937297,118.9950887],[173.6045455,119.094502],[173.6152863,119.1939234],[173.625952,119.2933528],[173.6365426,119.3927903],[173.6470447,119.4922385],[173.657485,119.5916919],[173.6678502,119.6911531],[173.6781403,119.7906221],[173.6883551,119.8900993],[173.698495,119.9895837],[173.7085738,120.089073],[173.7185635,120.1885727],[173.728478,120.2880798],[173.7383174,120.3875945],[173.7480816,120.4871165],[173.7577694,120.5866462],[173.7673832,120.6861829],[173.7769219,120.7857269],[173.7863854,120.885278],[173.7957737,120.9848362],[173.8050866,121.0844017],[173.8143229,121.1839744],[173.8234761,121.2835672],[173.8325637,121.3831534],[173.8415442,121.4827794],[173.8504808,121.5823799],[173.8593841,121.6819398],[173.8681708,121.7815529],[173.8768842,121.8811715],[173.8855204,121.9807978],[173.8940814,122.0804306],[173.9025671,122.1800698],[173.9109789,122.2797151],[173.9193146,122.3793663],[173.9275745,122.4790245],[173.9357592,122.5786889],[173.9438554,122.6783718],[173.9518889,122.7780492],[173.9598475,122.8777321],[173.9677307,122.9774211],[173.9755388,123.0771158],[173.9832774,123.1768064],[173.9909341,123.276514],[173.9985163,123.3762261],[174.0060237,123.4759434],[174.0134554,123.5756668],[174.0208209,123.6753928],[174.0281021,123.7751273],[174.0353087,123.8748663],[174.0424392,123.9746118],[174.0494943,124.0743626],[174.0564752,124.1741182],[174.0633797,124.2738795],[174.0702081,124.3736464],[174.0769618,124.4734182],[174.0836402,124.573195],[174.0902431,124.6729769],[174.0967708,124.7727637],[174.1032231,124.8725554],[174.1096,124.9723519],[174.1159015,125.0721533],[174.1221276,125.1719594],[174.1282784,125.2717702],[174.1343535,125.371586],[174.1403522,125.4714064],[174.1462768,125.5712309],[174.152126,125.6710598],[174.1578998,125.7708931],[174.1635983,125.8707307],[174.1692052,125.9705759],[174.1747526,126.0704219],[174.1802247,126.1702722],[174.1856215,126.2701266],[174.190937,126.3699933],[174.1961808,126.4698564],[174.2013683,126.5697194],[174.2064705,126.6695809],[174.2114903,126.769455],[174.2164348,126.8693327],[174.2213015,126.9692163],[174.2260949,127.0691015],[174.2308146,127.1689896],[174.2354572,127.268882],[174.2400236,127.3687779],[174.2445163,127.4686761],[174.2489341,127.5685785],[174.2532749,127.6684845],[174.2575402,127.7683938],[174.26173,127.8683063],[174.2658444,127.9682219],[174.2698821,128.0681458],[174.2738455,128.1680676],[174.2777341,128.2679923],[174.2815447,128.3679206],[174.2852817,128.4678511],[174.2889419,128.5677863],[174.2925322,128.6677204],[174.2960414,128.7676614],[174.2994767,128.8676027],[174.3028382,128.9675421],[174.3061222,129.0674891],[174.3093319,129.1672686],[174.3124674,129.2672171],[174.3155252,129.3671679],[174.3185077,129.467121],[174.3214146,129.5671529],[174.3242486,129.6671107],[174.3268918,129.7670704],[174.329681,129.866955],[174.332286,129.966919],[174.3348122,130.0668848],[174.3372699,130.1668525],[174.3396484,130.2668221],[174.3419551,130.3667932],[174.3441827,130.4667631],[174.3463348,130.5667378],[174.3484115,130.6667142],[174.3504133,130.7666928],[174.3523382,130.8666719],[174.3541878,130.9666528],[174.3559532,131.0666351],[174.3576522,131.1666216],[174.3592758,131.2666064],[174.3608244,131.3665925],[174.3623074,131.4665797],[174.3637045,131.5665677],[174.365026,131.6665548],[174.366272,131.7665457],[174.3674425,131.8665371],[174.3685375,131.9665295],[174.3695571,132.0665226],[174.3705011,132.1665165],[174.3713696,132.2665111],[174.3721257,132.3665064],[174.3728438,132.4665023],[174.3735225,132.5664979],[174.3740889,132.6664948],[174.3745653,132.7664927],[174.3749805,132.8664904],[174.3753203,132.9664884],[174.3755904,133.0664867],[174.3757766,133.1667342],[174.3758897,133.2667343],[174.3759272,133.3667345],[174.37592679998656,133.46673467118126],[174.37548572845003,133.5668108636193],[174.37569929988595,133.66673485955607],[174.37548239845674,133.7667312959249],[174.3751435999412,133.8667355250056],[174.37476549961568,133.9667349348241],[174.37430450389687,134.0667466447292],[174.37377530333745,134.16674545921012],[174.373188502361,134.2667431722911],[174.3725084014417,134.36674105535948],[174.3717723988216,134.46673441339064],[174.37094889257767,134.56671812423494],[174.3700416913001,134.6667150944657],[174.36905978933666,134.76671024970906],[174.36800228708267,134.86670464430242],[174.36686928452949,134.96669825520826],[174.3656607816456,135.06669099842662],[174.36437817837356,135.1666827204325],[174.36301857474655,135.26667351031338],[174.36158407038383,135.36666235228182],[174.3600731656826,135.4666503059003],[174.35848696082164,135.56663784775623],[174.3568237557175,135.66662475548716],[174.35508644990867,135.76660979800565],[174.35327374359403,135.8665935057992],[174.35138543674358,135.96657579894276],[174.34942172934007,136.0665566313614],[174.3473820215654,136.16653648828003],[174.34526731298712,136.26651421632377],[174.3430770038618,136.36649049971754],[174.34081129403,136.4664649133864],[174.33846918394374,136.56643866270522],[174.33605357252387,136.66640886958677],[174.3335617604745,136.76637741204337],[174.33099414786682,136.866344479925],[174.32835093451558,136.96630957915673],[174.32563302006636,137.06627176440108],[174.32283880519202,137.166232830258],[174.31996908950697,137.26619174842747],[174.31702387298986,137.36614846190955],[174.31400455565446,137.46610300717924],[174.3109063376181,137.56605569803648],[174.30773461849418,137.6660055024564],[174.3044874984673,137.7659529131514],[174.30116597731651,137.86589734074659],[174.29776785539525,137.96583972806684],[174.2942698327843,138.06578029484965],[174.29072070886477,138.16571738179513],[174.28709628387844,138.2656516379783],[174.28339625788303,138.36558321751158],[174.27963503603456,138.46552586699406],[174.2757842078984,138.56545176607762],[174.27185777864668,138.66537470451135],[174.26786644274628,138.76527992528378],[174.2637890112683,138.8651969553428],[174.25963697860982,138.96511085137698],[174.25540874470983,139.06502145098636],[174.25110500958854,139.16492880790838],[174.24672587322866,139.2648328761056],[174.24227173502754,139.3647320484281],[174.23774189604916,139.46462916213818],[174.23313645583258,139.56452298819846],[174.2284558139443,139.66441237045896],[174.22369957104655,139.76429907506963],[174.21886572685793,139.86418235178044],[174.21395768158814,139.96406275931645],[174.20897503461657,140.06393864282768],[174.20391708613795,140.16381052157664],[174.19878373620665,140.26367854060084],[174.19357508480124,140.3635426428627],[174.1882919315962,140.4634019600624],[174.1829322771992,140.56325811294974],[174.17749742120358,140.66311001703733],[174.17198886366518,140.76295782076267],[174.16640910353377,140.8627987231884],[174.16074754301286,140.9626386022892],[174.1550102806954,141.06247370477772],[174.1491984167437,141.1623044632415],[174.14331105113567,141.26213081901807],[174.1374445838833,141.3619527859574],[174.1314026148973,141.46177016270948],[174.12528894477893,141.5615845333492],[174.1186464723469,141.66139283328894],[174.1128354980789,141.76119608141718],[174.10649572206458,141.86099477184533],[174.10008054421846,141.96078859154878],[174.09359006453636,142.06057752949],[174.08702429604244,142.16039631666655],[174.08038311260333,142.26017526412087],[174.07366651426142,142.35991448485294],[174.06687472634155,142.45968151178297],[174.06001083717234,142.5594452207507],[174.05306824604145,142.6592037132312],[174.04604885292622,142.75895692851205],[174.03895559096173,142.8587932264995],[174.03178689318898,142.9585340497686],[174.02454296165624,143.05818486024395],[174.01722366039422,143.1579164069886],[174.00982565703924,143.25764238724605],[174.0023537537982,143.35736868521596],[173.9948068465642,143.45708434931154],[173.98718763681268,143.55679331352005],[173.97949192488775,143.6564964964164],[173.97172091106316,143.75619462755054],[173.96387459469386,143.8558859869226],[173.95595387442228,143.95556695419535],[173.94795685356735,144.05524638008063],[173.93988462964643,144.15491764416646],[173.93174000422312,144.2545849154025],[173.92351717769904,144.3542492659637],[173.9152190476253,144.45390416476297],[173.9068457149806,144.5535522217627],[173.89840038015467,144.65319447576277],[173.88987644295307,144.75283040923821],[173.88127750328547,144.85245978083907],[173.8726030611632,144.95208262075286],[173.8638532163087,145.05169818894205],[173.85502826922828,145.15130783529415],[173.84612801963314,145.25091078988413],[173.8371526660833,145.3505032126373],[173.8281020113875,145.45009259362814],[173.81895205413744,145.54967518185688],[173.809750794266,145.6492507893236],[173.8004742317711,145.7488194150282],[173.79112266663398,145.84838100885827],[173.7816957988359,145.94793552092628],[173.7722189283826,146.04748296174475],[173.76264185519886,146.14702314013866],[173.7529740792615,146.2465559925455],[173.74324640342584,146.34608912741479],[173.73344352207175,146.44560756048503],[173.72356543792168,146.54511855175576],[173.71361215095692,146.64462205122697],[173.70358376115868,146.74411800886114],[173.69348026850074,146.84360635465828],[173.68330157301682,146.9430871786559],[173.67304787458696,147.04256016077903],[173.66271907328613,147.14202550106512],[173.65226486593411,147.24147472837726],[173.64180406639005,147.34094477816294],[173.63124995611633,147.44038623293804],[173.62062084285162,147.53981972583864],[173.60996741875866,147.63922434785377],[173.59918819940702,147.73864163704292],[173.58833387694443,147.83805064439508],[173.57740455153964,147.93745181987273],[173.5664000229226,148.03684444355093],[173.55532049117588,148.13622873535468],[173.5441658562469,148.23560455532146],[173.5329362183945,148.3349725934137],[173.5216315771086,148.43433148963157],[173.51024943262567,148.53368187491247],[173.49879478490783,148.6330236473814],[173.4872020342897,148.7323577116383],[173.47566018003053,148.8316820568084],[173.4639803224773,148.930997643729],[173.45219036160182,149.03030439193765],[173.4403602030729,149.12961740522084],[173.4284525355382,149.22890641756817],[173.41647236478363,149.32818685710353],[173.40441919046793,149.4274578140145],[173.39228901271517,149.52671961980104],[173.38008402542766,149.62595601363935],[173.36784114050158,149.72519871168967],[173.35548635230214,149.82443270170302],[173.34305666058668,149.92365732980446],[173.33055206562153,150.02287330599395],[173.31797256700915,150.12207957027158],[173.3053180744395,150.221301962673],[173.29258876820643,150.32048793312697],[173.27978454860613,150.41963827167086],[173.2669054351236,150.51880493830103],[173.25395141824882,150.6179625730193],[173.2409224975168,150.71710993582573],[173.22781607365528,150.8162489676952],[173.21463714569634,150.91537708675287],[173.2013831141577,151.01449567397367],[173.1880574786866,151.11360378804514],[173.17465403942597,151.21270181129225],[173.16117569597438,151.31178867262759],[173.14762264907802,151.41086636197605],[173.13399469833195,151.50993379941264],[173.12029204370614,151.60899090486242],[173.10648718520628,151.70803769863784],[173.09263602276468,151.80707398977646],[173.07871005639086,151.90609980896576],[173.06470928605856,152.00511508620576],[173.0506338117415,152.10411975145894],[173.0364858333533,152.20311357390034],[173.02225925128064,152.30209758581734],[173.00795926491566,152.4010701652601],[172.9935844744759,152.50003189275358],[172.9791364785851,152.59897909769802],[172.96461237992838,152.69791894118043],[172.95001357714443,152.79684779267606],[172.93534007021074,152.8957655921849],[172.92059165917235,152.99467245978195],[172.90576904378915,153.09356775520476],[172.89087152427874,153.1924520587158],[172.87589930054358,153.29132511024005],[172.86085237254994,153.39018681977754],[172.8457308402828,153.4890371472908],[172.83053480365592,153.5878758627423],[172.81526386277807,153.68670325628204],[172.7999182175367,153.78551902783508],[172.7844981679506,153.88432322728883],[172.76900351397848,153.98311574471836],[172.7534321555493,154.08189639091117],[172.73776939383026,154.18066828137952],[172.7220509265914,154.27942546273638],[172.7062577548841,154.37817074210653],[172.69039017868573,154.47690405937743],[172.67444979768877,154.5756245939492],[172.65843321239967,154.6743336970967],[172.64234182267586,154.77303098829498],[172.62620062646428,154.87171098816944],[172.60996212754833,154.97038379453184],[172.593647323984,155.06904421950753],[172.57725741575618,155.16769222264656],[172.5607935029211,155.2663279535364],[172.544255285385,155.36495116228954],[172.5276395632156,155.463562030106],[172.51095243625872,155.56216014469834],[172.4941896052572,155.66074748767883],[172.4772551995089,155.75940220500448],[172.46044312754216,155.85788031644262],[172.44344468748972,155.95644356777467],[172.42638533660784,156.05497795194617],[172.40926577491894,156.15348352869466],[172.39205771431625,156.25199201863038],[172.37477524882132,156.35048747646695],[172.35742207774388,156.44896806081704],[172.3399909023857,156.54743724441784],[172.32248532212398,156.6458933659195],[172.30490533688751,156.74433623532207],[172.28725094665754,156.8427658026255],[172.2692680023093,156.94131778314508],[172.25171815188835,157.03958682123488],[172.23383064805853,157.1379801659532],[172.2158789376595,157.23635600474768],[172.19785292215445,157.33471824140557],[172.17975270149464,157.43306674588936],[172.1615781757213,157.53140162823658],[172.14332984461691,157.62972230825972],[172.12500680849652,157.72802962629623],[172.10660856767896,157.8263244325336],[172.08813852028894,157.92460172569713],[172.069592868498,158.0228672972114],[172.0509730114398,158.12111883655166],[172.03228944752732,158.2193521097806],[172.01352088008085,158.3175759748852],[171.99467850706705,158.41578500766573],[171.9757630282797,158.5139786578598],[171.95677254455506,158.61215915617976],[171.9377078554582,158.71032534232563],[171.9185643629094,158.80848233802212],[171.89935146294795,158.90661957974496],[171.88006525758044,159.00474241895623],[171.86070924452287,159.1028447643439],[171.8412739281221,159.20093820946963],[171.82176470617657,159.29901688230882],[171.80218127872374,159.39708088297402],[171.7824805461904,159.49513135762757],[171.7627488075768,159.59316562390725],[171.74291667286275,159.69121030783612],[171.72303702304706,159.78921472958027],[171.70308336757782,159.88720408907542],[171.68312099862047,159.9851574818356],[171.66301943178416,160.0831165567953],[171.64284225944442,160.18106097010596],[171.622597179392,160.2789848288805],[171.60227149556147,160.3768986278807],[171.58187400579226,160.47479660380696],[171.56140261023077,160.57267914744673],[171.54085740885446,160.67054619876257],[171.52023820163714,160.7683976878294],[171.49954508856376,160.86623357460982],[171.47877816961184,160.96405379906625],[171.45793734475512,161.06185829123626],[171.4370014123751,161.15964273907008],[171.4160129756638,161.2574156465922],[171.3949506329877,161.35517266182785],[171.37383318589423,161.4529179077268],[171.35262263134106,161.55064327853958],[171.33133887066558,161.64835233680347],[171.309981503924,161.74604523266842],[171.28855263092498,161.84372145534698],[171.26704765205133,161.9413820265641],[171.24546886707037,162.03902632545731],[171.2238150759222,162.1366541924766],[171.2020893782316,162.2342646264596],[171.1802914748536,162.33185990751858],[171.15841776525966,162.4294386270037],[171.13646984976097,162.52700161431483],[171.11444882774245,162.62454722903965],[171.09235249937296,162.72207592200309],[171.0701841648248,162.81958815196762],[171.04794222398183,162.9170836095333],[171.02561208299508,163.01457870017396],[171.00322252964128,163.11204082309186],[170.98077366398414,163.20947014824952],[170.95824019758297,163.30689750513227],[170.93563032492844,163.40430820066612],[170.91294844585525,163.50170179320114],[170.89019146034107,163.59907822389977],[170.86736156808206,163.69643668193714],[170.84445856893194,163.79377677738825],[170.82148096398583,163.89110143081538],[170.79842995251238,163.98840869176868],[170.77530543448913,164.08569850028564],[170.7520723071173,164.18296339952929],[170.7288006760169,164.2802183632111],[170.70545583822792,164.3774555043441],[170.682074696324,164.47468167909037],[170.65858294526288,164.57188345531324],[170.6350181874119,164.66906713891237],[170.61137952304864,164.76623347022513],[170.58766765192928,164.8633817989891],[170.56388237409138,164.96051222527927],[170.54002368948986,165.05762462909567],[170.51609169812477,165.15471901040078],[170.49208639996613,165.2517952891946],[170.46800779498386,165.34885338547716],[170.44385248326452,165.44589353052342],[170.4196273645976,165.54291516174592],[170.39532893904337,165.63991844045717],[170.37095730659053,165.73690333661963],[170.34651226721286,165.83386978030836],[170.32199412089534,165.9308177314108],[170.2974028676155,166.02774712992704],[170.2727384073508,166.1246579158945],[170.24800074008252,166.22155003931323],[170.22318996578437,166.31842343014569],[170.19827928666328,166.41528397844152],[170.17332549746524,166.5121176629017],[170.14829500201012,166.60893467612547],[170.12319129944262,166.70573273680054],[170.09801448975531,166.8025118248894],[170.07276467290689,166.8992718303545],[170.0474418488936,166.99601274319593],[170.02207241572236,167.09272924351401],[169.99660357733813,167.18943186110803],[169.97106193166155,167.28611504600335],[169.94544717875635,167.38277896831244],[169.91975931862257,167.47942362803536],[169.89399875111016,167.5760486250221],[169.86816497632415,167.67265423946014],[169.8422583942008,167.76924030119952],[169.8161909321212,167.86587984327252],[169.79013873516186,167.96242636961455],[169.76410080361907,168.0588806706006],[169.73790259194377,168.15538798169527],[169.71163137288613,168.2518756201663],[169.68528744631485,168.34834323590115],[169.65887531145714,168.44478876721251],[169.63237477700315,168.54123539167375],[169.60581242797352,168.63764315931266],[169.57912476750772,168.73402045394113],[169.55241690333088,168.83038785614525],[169.52563793123153,168.92673414501334],[169.49878445192618,169.0230612318202],[169.47189507191837,169.11938645208966],[169.44489617728203,169.21567268342432],[169.41782467498206,169.3119384919853],[169.39070475445303,169.40815569869972],[169.36348783676206,169.50438049178848],[169.33614641535237,169.60059539156538],[169.30878388225918,169.69677913925693],[169.28134854140112,169.79294219424992],[169.25384079274443,169.88908446639428],[169.22587330579887,169.985124720933],[169.1986576715216,170.08130528353738],[169.17093229938277,170.17738497728598],[169.14313141931424,170.27344353934853],[169.11526103140562,170.369481207475],[169.0873167362497,170.46549956331523],[169.05930652862594,170.56148468387028],[169.03121871686767,170.65745879352602],[169.00305849712322,170.75341162033322],[168.97482586940015,170.84934318429188],[168.94652063369094,170.94525346547698],[168.91813289125255,171.04114581760075],[168.88968633893708,171.13701184177634],[168.8611637790332,171.2328576444533],[168.83231506191717,171.328817609447],[168.80390113513954,171.42448506137407],[168.77516135096226,171.5202661755054],[168.74634755954142,171.61602798738804],[168.7174633589718,171.71176541567235],[168.68850715008978,171.80748069095816],[168.6594784331016,171.90317436343292],[168.63037760782726,171.9988459529467],[168.6012043743418,172.09449565961197],[168.57197103102055,172.1901191488165],[168.54265348094026,172.28572462959727],[168.5132652217562,172.3813058468922],[168.48380225500242,172.47686689220097],[168.4542671803862,172.57240698454865],[168.42466109691003,172.66792346352295],[168.3949827050202,172.76341751961127],[168.36523150529797,172.858890703001],[168.33540909656205,172.95433986309237],[168.30551467935246,173.0497664401853],[168.27554955334284,173.14516956379228],[168.24551091916342,173.24055091496325],[168.21540017646157,173.33590955317328],[168.1852175252148,173.43124541834734],[168.15496286539687,173.52655844052296],[168.1246335972817,173.62184935067506],[168.09423512025765,173.7171165167788],[168.06376443461747,173.8123607199591],[168.0332219403461,173.90758192006595],[168.00260763740226,174.00278000709937],[167.97192132577104,174.0979549411344],[167.94116160564374,174.19310723269592],[167.9103314766264,174.2882358306591],[167.8794297388166,174.38334099547384],[167.84845699162184,174.47842114691528],[167.81740843639992,174.5734799067832],[167.78629127223533,174.66851483237772],[167.75510209923334,174.76352620497386],[167.72377741258714,174.85850121838493],[167.69244502190276,174.95346546468426],[167.66104102227965,175.0484058878352],[167.62963171835943,175.14333485297448],[167.59808420091147,175.23822776994115],[167.56646517451355,175.33309683372198],[167.5347745391282,175.42794194435442],[167.50301219477788,175.522763161876],[167.47117824141012,175.61756034624918],[167.43924939150654,175.71236678620917],[167.4072753199349,175.80711545312317],[167.3752266394548,175.9018403780138],[167.3431056499873,175.99654135001856],[167.31044829979265,176.09108048314678],[167.27867613064058,176.185835564348],[167.24633891351334,176.28046281743278],[167.21393278735346,176.37506599635668],[167.18145525200362,176.46964468205726],[167.14890620745632,176.56419885457203],[167.11628585367782,176.65872842382595],[167.0835926915232,176.7532356703814],[167.0508257193013,176.8477160846137],[167.01799123768288,176.94217145416016],[166.9850843466496,177.03660173085837],[166.9521092465161,177.13100775313322],[166.91906083690782,177.22538852289728],[166.8859411179183,177.31974428940055],[166.85275018955505,177.41407507260556],[166.81948735205063,177.50838149277467],[166.78615410480495,177.6026619493456],[166.75275104725168,177.6969149320934],[166.7192762811722,177.7911451917302],[166.6857327054451,177.8853497371688],[166.652114820217,177.97952896047164],[166.61842612531137,178.0736823903262],[166.58466582108832,178.16781098703248],[166.55083450725527,178.2619139703655],[166.51693208382352,178.35599137036274],[166.48295865077424,178.45004313698678],[166.44891430808875,178.54406922020004],[166.41469149339446,178.63816998034542],[166.38057890887134,178.73208450914146],[166.3463564223047,178.82599360915032],[166.31202794096174,178.9199166589081],[166.27762864986255,179.01381370521767],[166.2431583490146,179.10768476815403],[166.20861723839164,179.20152977764218],[166.17400521797123,179.29534867371956],[166.13932238773077,179.38914139634875],[166.10404258877725,179.48301766284663],[166.06974429773737,179.57664818126253],[166.03484903793193,179.6703621035471],[165.999883068224,179.76404963234597],[165.96481939068167,179.85771628778375],[165.92971180113122,179.95135092968624],[165.894533401622,180.04495902814054],[165.85928439213154,180.13854052307167],[165.8239647726448,180.2320953744796],[165.78857454313555,180.32562351236436],[165.75311360360004,180.41912492676346],[165.71760695182027,180.5125936983023],[165.6820072903008,180.6060365147179],[165.64633492048773,180.69945722839753],[165.6105920405696,180.7928510085165],[165.57477865050524,180.8862177450748],[165.53889485027207,180.97955737803494],[165.50288474075907,181.07287228835924],[165.46685972018838,181.16615771427308],[165.43076408938518,181.2594158666638],[165.3945982483532,181.3526467553814],[165.3583646970922,181.44585037948835],[165.32211263496507,181.53902503053482],[165.28573556312674,181.63217380845802],[165.24928818098462,181.7252951227456],[165.21277058848622,181.81838883336007],[165.17618268563152,181.91145494033893],[165.1395245724093,182.00449341364467],[165.1027960487783,182.09750414335232],[165.0659974147197,182.19048707934937],[165.02912847024112,182.28344224171082],[164.99211210950915,182.37635408935017],[164.95510284412296,182.46925352432794],[164.9180234682042,182.56212488559513],[164.88087408176793,182.65496821311422],[164.84373149064365,182.74779903808422],[164.80644158310102,182.84058610829464],[164.76908176501834,182.93334508471952],[164.73165663554403,183.02607369563398],[164.69415699624244,183.11877611448773],[164.6565855462172,183.21144995026845],[164.61894748531415,183.30409479102613],[164.58123781411118,183.39671217863568],[164.54345843218437,183.4893009823847],[164.50560883956751,183.58186129246067],[164.46709738955107,183.6742686607219],[164.4297003220311,183.76689581110602],[164.39164119711904,183.8593700397504],[164.35351346153183,183.95181581412172],[164.31531481499962,184.04423241508255],[164.2770462576536,184.13662019225782],[164.23870798944125,184.2289790055726],[164.20030001038134,184.32130890502685],[164.16182222044011,184.4136098006581],[164.12327471958005,184.50588159242884],[164.08465760779364,184.59812426030157],[164.04597078508093,184.6903378043138],[164.00721415143062,184.782522194503],[163.96838820673773,184.87467715068175],[163.92949265103223,184.9668027529625],[163.8905271842992,185.05889896145777],[163.85149250652353,185.15096573590506],[163.81238551749175,185.2430025074669],[163.77321181757466,185.33501026404323],[163.73396870653247,185.4269883666466],[163.69465468493155,185.5189383258394],[163.6552622529974,185.61086074443406],[163.6158106085537,185.70274981523104],[163.57604621375563,185.79477133331847],[163.53669898603974,185.8864383249436],[163.4970394079845,185.97823780370925],[163.45731391830512,186.07000629718948],[163.41751561775214,186.1617458079717],[163.37764800591657,186.2534552447435],[163.3377110827609,186.34513450750484],[163.29770354912895,186.4367858467431],[163.25762830332556,186.5284047413711],[163.21748404618327,186.61999341187618],[163.17728267605128,186.71154745379613],[163.1369983969139,186.80307749680523],[163.0966467135625,186.89459631509007],[163.05622601068976,186.9860630892535],[163.01573529635817,187.07749931966902],[162.9751763705002,187.16890482566166],[162.9344932503922,187.26032568822814],[162.89379680145515,187.3516696757875],[162.8530874238541,187.44293722818972],[162.8122526518681,187.5342197776158],[162.77134966831068,187.625471482619],[162.73037807314435,187.7166922433493],[162.6893337666169,187.8078827213442],[162.64822334818786,187.89904147412878],[162.6070441185662,187.9901703927154],[162.56579257703214,188.0812675584167],[162.5244758241102,188.1723343685701],[162.48309045895684,188.2633685744507],[162.44163608208586,188.35437154620848],[162.40011269348227,188.4453432438434],[162.35852089308227,188.53628349713048],[162.3168605808896,188.6271923161072],[162.27513155687802,188.71806963084862],[162.23333212128767,188.80891608199212],[162.1914658739158,188.8997311281878],[162.14953111436128,188.99051370007322],[162.10752774289034,189.0812645076858],[162.06545595900423,189.17198222095067],[162.023318863089,189.26266786870525],[161.98111265563617,189.35332276237443],[161.93883133653736,189.44394661420824],[161.89648550538686,189.53453834023173],[161.85407146279996,189.62509958183236],[161.81158910758037,189.71562714904778],[161.7690382403169,189.8061226119529],[161.72641906097945,189.89658589047275],[161.6837316695531,189.98701694456983],[161.64097596601533,190.07741571428159],[161.5981518503474,190.1677821496456],[161.55525962255678,190.25811627054932],[161.51229918260222,190.3484179670303],[161.46927052991748,190.43868572908855],[161.42617676545112,190.5289220855615],[161.38301178859226,190.61912540873672],[161.33977989976063,190.70929681700164],[161.296477498544,190.7994352117063],[161.25310838562834,190.88954242142563],[161.20967106003124,190.97961582672227],[161.16616552211644,191.06965639759616],[161.1225922718277,191.15966398385984],[161.0789513092625,191.24963884551326],[161.0352421342821,191.33958061274396],[160.99137505281783,191.42950511918824],[160.94748585314892,191.51938108392343],[160.90357304089667,191.60922349751095],[160.8596802101593,191.69901661360197],[160.81567767301718,191.78879267083158],[160.77156122342555,191.87853555077598],[160.72737716129123,191.96824499607266],[160.68312148655824,192.05792085822162],[160.63880209989722,192.1475649242603],[160.59441500009726,192.2371739656889],[160.54996028771706,192.32674947246977],[160.50543886252032,192.41629081426552],[160.46085052492708,192.50579911115102],[160.4161797745034,192.5952732089389],[160.37142905730173,192.6845692467017],[160.3266616360298,192.77412110074653],[160.28180134728328,192.86349303960392],[160.23687654635006,192.95283249265105],[160.19188123262307,193.04213784213803],[160.14683220612366,193.1314091417649],[160.1016685771123,193.2206737643671],[160.05647252483075,193.30987633912363],[160.01124104954926,193.39901758715948],[159.96590877186733,193.4881524529957],[159.9205092813352,193.57725306403427],[159.87503862134798,193.66643514176707],[159.82944977130174,193.75537708380415],[159.78384844210262,193.84437462052483],[159.73817989997823,193.93333770244786],[159.6924163470718,194.02227204999787],[159.64667257401527,194.11115266012663],[159.60080249302513,194.2000121376193],[159.5548654990197,194.28883692020187],[159.50886129199907,194.37762700798683],[159.4627900719294,194.46638231089918],[159.41665183879945,194.55510279893892],[159.37044658774929,194.64377551210697],[159.3242038261905,194.73242020933947],[159.27786475371477,194.82103581268643],[159.23145896811877,194.9096164410483],[159.18498626938748,194.9981620545001],[159.1384466574647,195.08667250304183],[159.0918402323466,195.17514777663595],[159.04516679398077,195.26358773535753],[158.99842724241586,195.35199250886905],[158.9516187778208,195.4403625482204],[158.90474510006038,195.5286974920242],[158.8578016085499,195.61699578200555],[158.81079460437266,195.7052603058017],[158.76369258644712,195.79348818522536],[158.71655214560596,195.88112162901578],[158.66934530009533,195.96927596774452],[158.6220716412132,196.05739466152573],[158.57476046893873,196.14547764937194],[158.52734188227558,196.23352228749576],[158.47988098325916,196.32153399148433],[158.43234427072562,196.4095096639004],[158.3847384447195,196.49744942223145],[158.33706590523678,196.58535325557747],[158.28932665223633,196.67322105393845],[158.241521685733,196.76105285693944],[158.19365050298669,196.84910802478717],[158.14571463032652,196.93665676685796],[158.09771092327725,197.0243804843789],[158.04962700262115,197.11206793197732],[158.001490868345,197.19971906915325],[157.95330252042257,197.2873338259067],[157.905034353122,197.37489692258873],[157.85669195897674,197.46238844710072],[157.80830356994218,197.54989360886174],[157.75983677289565,197.6373774200242],[157.7113040564213,197.72480943590273],[157.66270532620038,197.81220480653383],[157.61404038505663,197.8995710619919],[157.56530452733162,197.98689311404053],[157.5165078577947,198.0741836788913],[157.46764527240367,198.16143197845753],[157.41871677316482,198.2486433627388],[157.36972246006312,198.3358177916976],[157.3206625540331,198.42354442529253],[157.27153661356573,198.5106459036064],[157.22230595655697,198.59770329118575],[157.17304868822512,198.68473048874222],[157.12372570060793,198.77170627093977],[157.07437591230638,198.85868023318739],[157.02492740201805,198.94559558245157],[156.97540727772105,199.03247358856834],[156.92582173937367,199.1193141392127],[156.87617048696467,199.2061172044971],[156.8264538204828,199.29288275430912],[156.77644428539776,199.37973208395255],[156.72682394521803,199.46630108762844],[156.67691083639755,199.55295377109826],[156.62693321342542,199.63956872875815],[156.57688707606937,199.72614534210823],[156.52677782474905,199.81268472912336],[156.47660325949835,199.89918698062854],[156.42636227974356,199.9856505670364],[156.3760571857396,200.0720761674844],[156.32568687748272,200.15846377238498],[156.27525125494674,200.24481331177572],[156.2247401210986,200.331132699481],[156.17414047001793,200.41740615037696],[156.12351070475694,200.5036417925631],[156.07284832492573,200.58983858697687],[156.02208693071654,200.6759970585183],[155.9712602221645,200.76211729454985],[155.92036679921713,200.84819915559655],[155.86941026183675,200.93424254030845],[155.81838891000845,201.02024740932296],[155.76730244371726,201.10621372275264],[155.71615016294822,201.19214144085998],[155.66493386552997,201.2780247729704],[155.61366495418045,201.36387096480843],[155.5623191298201,201.4496824754863],[155.51090859090687,201.53545519042933],[155.45936652378788,201.62115271469008],[155.40772487172467,201.70689040629793],[155.35612037994264,201.79252217396328],[155.3045172961705,201.8781753011021],[155.25288487737177,201.96373502923495],[155.20108615076973,202.04927397973168],[155.14922290946475,202.1347737344186],[155.09729135367462,202.22023487472066],[155.04530058353365,202.30565775722536],[154.99324089832632,202.39104047557038],[154.9411192980634,202.47638305713065],[154.88893358355497,202.561687662731],[154.83668345380363,202.64695163248422],[154.78436890920685,202.73217602639016],[154.7319910497833,202.8173608940363],[154.67955141396925,202.90234206483427],[154.6270360864528,202.98761204403684],[154.57446448307044,203.07267972432862],[154.52182856411142,203.15770587873573],[154.4691286297144,203.24269087714572],[154.4163644809182,203.32763748963333],[154.3635375171714,203.41254424567373],[154.31064503845553,203.49741109627936],[154.25768844507044,203.5822388409252],[154.20466783635237,203.66702570957386],[154.15158311212136,203.7517712222629],[154.09843417270363,203.83647624902972],[154.04522791854495,203.92114197728677],[153.99195134961627,204.00576833190905],[153.93861086558334,204.09035442049657],[153.88520536628127,204.17489980346195],[153.83173705201364,204.25940528998007],[153.77820512266803,204.34387058035097],[153.72460947804566,204.42829514461218],[153.6709500182291,204.51267920280117],[153.61722284313228,204.5970225263805],[153.56343605354596,204.68132722231252],[153.50958544797413,204.76558930217246],[153.45567232702052,204.8498103754727],[153.40169509086516,204.93399092281334],[153.34765313962816,205.0181312644192],[153.29354837297183,205.1022304995779],[153.23938019078,205.18628831851444],[153.18514849344643,205.2703057712663],[153.13085517999596,205.35428025712116],[153.07650005198113,205.43821591615364],[153.02207800849476,205.52211033027652],[152.96759244955916,205.60596355821474],[152.91304377520052,205.6897756698183],[152.8584318853926,205.7735465951247],[152.80375678008292,205.857276194134],[152.7490184592902,205.9409645168461],[152.69421692298073,206.02461147326107],[152.63935227113194,206.10821700334145],[152.58442440380017,206.19178125712463],[152.5293409145606,206.2752871192618],[152.47428731600021,206.3587681201883],[152.4192626081303,206.44222429027903],[152.3640827783601,206.52562208853624],[152.30878063294602,206.6089781926588],[152.25347297186113,206.69229250884678],[152.1981632951089,206.77556504578774],[152.1427317026678,206.858795768444],[152.08723369432386,206.9419840960032],[152.03161427114227,207.0251328790901],[151.97599414158196,207.10826465244068],[151.9203112861924,207.19132755930858],[151.86456581501224,207.27434836965438],[151.80875932803016,207.35732705287808],[151.75288851557517,207.44023782021904],[151.6970180960739,207.52312979741131],[151.64102346094765,207.6059801311814],[151.5849650105934,207.68878986887933],[151.5287895445387,207.7715577604551],[151.47260606238208,207.85428271503386],[151.41641726429586,207.93696519160312],[151.3601086502656,208.01960517310027],[151.30319316393044,208.10231912217927],[151.24730467430078,208.18475742611594],[151.19080921234752,208.26726964767192],[151.1342512343524,208.34973910266837],[151.07763114034918,208.4321658809553],[151.0209200371724,208.51456821336885],[150.96417531110802,208.59690951838667],[150.9073685690318,208.67920813665745],[150.8504996107787,208.76146362825625],[150.7935686363938,208.843676113108],[150.73657554586575,208.92584556125018],[150.67951863942724,209.00797259332035],[150.62240141192925,209.09004347800695],[150.56525217034854,209.17207681469614],[150.50801271481672,209.25407296521286],[150.45070974335187,209.33602663954503],[150.39334495564268,209.41793700705517],[150.3359183516816,209.49980404774334],[150.27842983143492,209.58162767164703],[150.22087960570633,209.66343668868916],[150.16326775268212,209.74517292883638],[150.10559408333853,209.82686566216162],[150.0478562974095,209.9085141795274],[149.9900593953559,209.99011970905872],[149.9322007769342,210.0716816017305],[149.87428074209933,210.15319973743033],[149.81629909084756,210.23467410623317],[149.75825592316016,210.31610465810155],[149.70015133901836,210.39749134299802],[149.64198533840343,210.4788341109225],[149.5837597214877,210.56013342119996],[149.52547088787023,210.64138820518053],[149.46712063772708,210.72259893218916],[149.40870917104328,210.80376556215083],[149.35024058708726,210.88488614352818],[149.29170658726215,210.96596441943348],[149.2331113708476,211.04699846829183],[149.17445493785118,211.12798831010326],[149.11573768820153,211.20893375471778],[149.056959221865,211.28983471228534],[148.99811943888278,211.3706912928435],[148.93921863924365,211.45150346627972],[148.88025692291006,211.53227113255656],[148.82103183029125,211.6131020876037],[148.76214954079722,211.6936746440818],[148.70300497432788,211.77430864891787],[148.64379949108533,211.85489793659457],[148.58453309106585,211.9354424971118],[148.5252059742432,212.0159422603947],[148.4658178406961,212.09639743655566],[148.40625136615162,212.1767433195867],[148.3467422988631,212.25710854109138],[148.28717251476385,212.3374289453617],[148.22765903767691,212.4177680385182],[148.16796781969003,212.49799809831978],[148.108215684735,212.57818292096198],[148.04840333288672,212.6583227061823],[147.9885306640627,212.73841723401827],[147.92859737829673,212.81846659458236],[147.86849106709923,212.8984481700261],[147.8084361471869,212.9784064961965],[147.74832181039253,213.05831981464502],[147.68814635681372,213.13818838600912],[147.62802369442997,213.21803346757494],[147.56772840647216,213.2978103838704],[147.50737290141865,213.37754172274407],[147.44695977714667,213.45722182322123],[147.38648393783043,213.53686181721372],[147.32594878133963,213.61645602344686],[147.2653527077344,213.69600460252065],[147.20469651695842,213.77550740413514],[147.1439804089892,213.8549643682153],[147.08320428380046,213.93437542479865],[147.02236814139974,214.01374059388516],[146.96147208176828,214.09305982543736],[146.90051630481605,214.1723328793803],[146.8394999106106,214.25155993605136],[146.77842429914438,214.33074097492567],[146.71727877169306,214.4098794000154],[146.65608192660918,214.48897081434592],[146.5948269631919,214.5680133504673],[146.53351228239384,214.64700954897938],[146.47213788424128,214.7259594798822],[146.41070396869296,214.80486303310073],[146.34921043573007,214.88372015867247],[146.28765738534145,214.96253082655994],[146.22604481750076,215.04129496676316],[146.16437283219682,215.12001254924456],[146.10264142941455,215.19868353400426],[146.04085130897772,215.2773074507797],[145.9789988724578,215.35588849092056],[145.9171011156161,215.4344153480527],[145.85513244272943,215.51289943177537],[145.79310455228196,215.59133669770125],[145.73101884327232,215.66972447530554],[145.66887251765826,215.74806798563793],[145.60658260062675,215.82643440981857],[145.54431694023611,215.90468520489486],[145.48207723554503,215.9828178602295],[145.41969653825882,216.06097028843766],[145.35725482442444,216.13907859952383],[145.29475419289423,216.2171397327008],[145.23219464364945,216.29515363796853],[145.1695734764503,216.37311967633957],[145.10689609175012,216.4510390557889],[145.04415988930162,216.52891111729144],[144.9813648690523,216.60673572084733],[144.9185038313664,216.68451383915644],[144.85559107548542,216.7622434468564],[144.79261990180356,216.83992559645964],[144.72959011027964,216.9175601780412],[144.66650170088363,216.99514711160106],[144.60335467361176,217.07268638713924],[144.5401491284453,217.15017795461821],[144.47688516536547,217.2276217640005],[144.4135627843123,217.30501765528615],[144.35018028557462,217.38236639911253],[144.28674096867223,217.4596667142423],[144.223246733605,217.53691859996292],[144.15968638066246,217.61412283047434],[144.09607590970847,217.6912790397766],[144.03240342080386,217.76838739233216],[143.96867271385466,217.84544763671607],[143.90488368889459,217.92245986296584],[143.84103674580737,217.99942376093145],[143.7771342843866,218.07633877971293],[143.71317110510137,218.15320617126025],[143.64914930774904,218.23002539478588],[143.58506999220205,218.30679610987738],[143.52093275849793,218.38351841668475],[143.45674110668517,218.4601924438955],[143.392487936588,218.5368177241721],[143.32817704830745,218.61339452608956],[143.26380834179474,218.6899227196854],[143.19947981704675,218.76640227820974],[143.1349938740511,218.8428332057623],[143.07045021278205,218.91921541495577],[143.00584893322085,218.99554885575265],[142.94118993513123,219.07183289819045],[142.87647341894444,219.1480686921941],[142.81158180225623,219.22430318186022],[142.74674984942516,219.30044127914564],[142.6818604782156,219.37653037795945],[142.6169087595506,219.45249294014468],[142.55190465134046,219.52848339197783],[142.48696193567852,219.60445396078745],[142.42184329079402,219.68034663556492],[142.3566674274636,219.75619013179582],[142.29143424584095,219.83198485951758],[142.22497944562554,219.9077302353419],[142.1607962267479,219.98342541932146],[142.09539088942748,220.05907165159104],[142.0299290335861,220.13466850505156],[141.96435505916386,220.21021583055295],[141.8987782761581,220.28574026710598],[141.83314476468263,220.36118879492682],[141.76745443460746,220.43658773405105],[141.7017070860113,220.51193729455372],[141.63590291868798,220.5872369263599],[141.57004193329738,220.6624883894694],[141.5041241286396,220.73768848388244],[141.4381477947585,220.81281066023848],[141.3721789529156,220.8879116037835],[141.30609109253362,220.96296313195685],[141.23994021241987,221.03796205375892],[141.17373921514218,221.1129152143516],[141.10748169817725,221.18781588613547],[141.0411675624551,221.2626665491478],[140.9747970079232,221.33746706331362],[140.9083699345478,221.41221733867047],[140.84188644238515,221.48691752518073],[140.77534643157028,221.561567982882],[140.70875020091813,221.63616555166192],[140.6420977522025,221.71071496152018],[140.57539418460172,221.78521402054446],[140.50862893190777,221.8597528427034],[140.44180749266792,221.934060885916],[140.37492966829328,222.00840858027578],[140.30799592498886,222.08270580560156],[140.24100622614827,222.15712161191897],[140.17396028143693,222.2311484393012],[140.1068583811482,222.30529373767504],[140.03970046189215,222.3793884670524],[139.97248674651382,222.453493547354],[139.905216994007,222.5274996286625],[139.83789151705787,222.60144054086305],[139.77051002092398,222.67533030406716],[139.7030728065353,222.74917139816213],[139.6355798731043,222.82296172314815],[139.56803122040978,222.89670068902524],[139.50042684857544,222.97038862579336],[139.4327668526776,223.04401240341593],[139.36505134020118,223.1175919818541],[139.2972802107487,223.1911263011454],[139.22938406218003,223.2646096673152],[139.16150169433547,223.33804162831365],[139.0935636073061,223.4114224402031],[139.02557050091562,223.48475163272116],[138.95752197537035,223.5580297560178],[138.88949183054132,223.631256452418],[138.82133286642386,223.70443173712175],[138.7531186830166,223.7775555925291],[138.6848492802445,223.85062781864002],[138.61652475812633,223.92364846541702],[138.5481450166508,223.9966175028976],[138.4797104557917,224.0695348609318],[138.41122057554898,224.14240053970707],[138.34267577580644,224.21521422907347],[138.2740753567441,224.28797640929344],[138.20542061829065,224.3606868898795],[138.1367102603336,224.4333453713192],[138.06794578290666,224.50595194304998],[137.99912648599485,224.57850656533435],[137.93025246957944,224.6510091881349],[137.8613236244767,224.72343532149074],[137.79234018641654,224.79588024532023],[137.72330131136658,224.86822653993164],[137.65420711678306,224.94052075528413],[137.58505979439707,225.0127408405543],[137.5158580606562,225.08493065622656],[137.44660170730668,225.1570681923775],[137.37729093433356,225.229153408932],[137.30792584171803,225.3011862558527],[137.2385826294435,225.37316667456457],[137.16911059756933,225.44509485158005],[137.09958424594402,225.51697036896167],[137.03000367462377,225.58879337667193],[136.96036878358242,225.66056380474836],[136.8906797728049,225.73228161311596],[136.82093664228373,225.8039467817747],[136.75113821828288,225.87536268115093],[136.68128802194292,225.9471190199657],[136.6113827320858,226.01862598942296],[136.54142342242122,226.09008014913388],[136.47141009293424,226.16148145909847],[136.40134294360234,226.23282985924175],[136.33122187442177,226.3041253396012],[136.26104698536625,226.37536783013934],[136.19081837642835,226.44655731081866],[136.12053594758922,226.51769373167667],[136.05019989883394,226.58877705263842],[135.97974073015234,226.6598072597663],[135.90929744152342,226.7307842709354],[135.83880053292955,226.8017080522082],[135.76831930434338,226.87257851759728],[135.69771535578212,226.94339573900248],[135.62705788721465,227.01415962047395],[135.55633779981915,227.08487330542386],[135.48557339288178,227.15553488698993],[135.41475566426945,227.22613867854747],[135.34388471556844,227.29668891005878],[135.27296034678244,227.3671855915988],[135.20198285771647,227.43762820305506],[135.1309532485392,227.5080171940526],[135.05986951940454,227.57835297534132],[134.98856693627414,227.64854480868996],[134.91737748949566,227.71883355961944],[134.84602587738502,227.78894812134848],[134.7748929013339,227.859158801096],[134.7036528713392,227.92922565097848],[134.63225111920087,227.9992334815025],[134.56080754733682,228.06918871770523],[134.48930045662598,228.13909370772393],[134.41774034565393,228.20894467762136],[134.34612731440563,228.27874158736006],[134.2744607628324,228.34848430716505],[134.2027426909828,228.41817296628628],[134.1309717988045,228.48780742521132],[134.05914848628615,228.5573876537901],[133.98727255343155,228.62691366209765],[133.91534610020304,228.69638534934649],[133.84336602653335,228.76580253669914],[133.77133273254617,228.83516555400553],[133.69924691813648,228.9044741210032],[133.62710888331176,228.9737282575797],[133.55491862804575,229.04292789373494],[133.4826761523272,229.11207299946904],[133.41038135613738,229.1811635248194],[133.33803443946127,229.25019942971107],[133.26563310228775,229.31918068500653],[133.19318214462027,229.3881072989058],[133.12067906640277,229.45697912234638],[133.04812356753771,229.5257958954408],[132.97550994830306,229.5945583603265],[132.90272363388428,229.66333369997366],[132.8301400480514,229.73191856358437],[132.75737726697858,229.80051615439402],[132.68455686592986,229.8690604868074],[132.61169054364444,229.93754819643723],[132.5387725020314,230.00598437545813],[132.46579823851116,230.0743621455581],[132.39277695421174,230.14268451328695],[132.31970414992097,230.210953580332],[132.24657982421388,230.2791655466935],[132.1734039777842,230.34732226237136],[132.10018371061645,230.4154236847031],[132.02690512269658,230.48346977890117],[131.95357071393443,230.55146030402807],[131.88018858464815,230.61939610704633],[131.80675583522424,230.68727821904326],[131.73327206416647,230.7551026501693],[131.65973717172233,230.82287006046175],[131.58615115839808,230.8905817999206],[131.5125213245832,230.95823890580823],[131.4388330701662,231.02584108359974],[131.3650937944191,231.09338639052015],[131.29130359823438,231.1608772065319],[131.2174648803256,231.22831010073514],[131.1435686420809,231.29568877650468],[131.06962938315803,231.36301231840304],[130.99563560383152,231.4302814607427],[130.9215909026274,231.49749227217393],[130.8474972805655,231.5646474719465],[130.77335123770985,231.63174723137297],[130.699154473854,231.6987909998158],[130.6249071888218,231.7657783072001],[130.5506092829057,231.83270993356325],[130.4762616552806,231.89958367856795],[130.40180058140362,231.96633410610622],[130.32741713835733,232.03316673453878],[130.2529173481518,232.09987362659263],[130.17836413653015,232.16652341867538],[130.10376360351054,232.23311615849963],[130.02911584979432,232.29965371602776],[129.95441497504814,232.36613520347225],[129.87966287913684,232.43256026012068],[129.80486176204153,232.4989288351481],[129.73000992366482,232.5652406691919],[129.65510846405917,232.63149590183968],[129.58015758289451,232.69769365301644],[129.50515618095469,232.76383601313455],[129.43010685803705,232.82992244121908],[129.35500551357936,232.89595143880763],[129.27985324767528,232.96192325548765],[129.20465226086094,233.027839320434],[129.12940165252135,233.0936979939844],[129.05410122285906,233.15949981621378],[128.97875117186283,233.22524475704705],[128.9031780274137,233.29074053152272],[128.82790180571845,233.3565635946756],[128.75240299054406,233.42213742128334],[128.6768547541069,233.48765455642],[128.60125759629824,233.55311470989818],[128.52561041700565,233.61851758213032],[128.4498480170212,233.68386529756623],[128.3741020049606,233.74918080685444],[128.29830666132858,233.81441213463603],[128.22246329621242,233.87958618042163],[128.1465697096499,233.9447030450362],[128.07062679132835,234.00973522814417],[127.99469986100573,234.07473540525442],[127.91865890984116,234.13968002511848],[127.84256903711758,234.20456716332404],[127.76643004287249,234.26939691994613],[127.69024222699338,234.3341689948722],[127.61400548959276,234.3988836881398],[127.53772093055804,234.4635406993364],[127.46138654992686,234.528140129212],[127.38500324766166,234.59268187742913],[127.30857132372493,234.6571658438753],[127.23209067815417,234.721592128588],[127.15548392640478,234.7860019605892],[127.07898352199803,234.85027135270042],[127.00181865318791,234.91463579399192],[126.92568217900572,234.97871904961647],[126.84895912496472,235.04285612521184],[126.77218734917719,235.1069352190737],[126.6953671515306,235.17095603108964],[126.61847133427688,235.2349245714592],[126.54154549778778,235.29884182308234],[126.46458053493902,235.3626887893729],[126.38756735030617,235.42647767374248],[126.31050614381425,235.49020827611616],[126.23339671550077,235.55388069656885],[126.15623926536571,235.61749493502566],[126.07903369333408,235.68105079152397],[126.00178759468034,235.74453566321478],[125.9245148766785,235.80796894488418],[125.8471657389571,235.8713496552072],[125.76976877933909,235.93467198345934],[125.69232369767451,235.99793552975308],[125.61483149411329,236.06114069371336],[125.5372911686555,236.1242874757152],[125.45970332122609,236.18737567553364],[125.38206775182508,236.25040529324366],[125.30438466045246,236.31337632877026],[125.2266541470332,236.37628858207594],[125.14887591167987,236.4391423532732],[125.07092084450152,236.50191129077632],[124.99273477073942,236.56466271490552],[124.91481526909614,236.6273397390651],[124.83693011990053,236.68988995033362],[124.75914529387283,236.75250192398542],[124.68121203583064,236.81502855329308],[124.60310264585088,236.87747004864408],[124.52494613378698,236.9398526616617],[124.44674259952644,237.00217609230845],[124.36849194314425,237.06444054062183],[124.29019446464041,237.1266460064893],[124.21184986390242,237.18879219002338],[124.13345834096776,237.25087919114912],[124.05499220138839,237.31292182025288],[123.97653502839596,237.37487534598796],[123.89800313879633,237.4367845997386],[123.819424426925,237.49863447104337],[123.74077041459668,237.5602164705669],[123.66212713640485,237.6221561660903],[123.58340845771852,237.68382788986997],[123.504643356723,237.74544013105378],[123.42582333450636,237.80699579282907],[123.3469631903551,237.86849296964593],[123.26805782254458,237.92992706341718],[123.18908682290123,237.99127628179434],[123.11007541309823,238.0525984153234],[123.03106548469518,238.11387094829342],[122.9519757273103,238.17506621119384],[122.87283964746621,238.23620159146094],[122.79365724516293,238.29727708909468],[122.7144292205879,238.35829320383255],[122.63515477344117,238.41924913597467],[122.55583440379772,238.48014508533345],[122.47646801169506,238.5409811519464],[122.39705579709566,238.60175723573855],[122.3176096570362,238.66246543224793],[122.23810539736836,238.72312135054844],[122.15855571524126,238.78371738587813],[122.07896021065494,238.84425353838702],[121.99931918342185,238.90472930796258],[121.91963243361702,238.96514489467984],[121.83990016124045,239.02550029846384],[121.76012226629211,239.08579551935202],[121.68029894873453,239.1460304572694],[121.60043010853019,239.20620501225346],[121.52042102712329,239.26626971982017],[121.44050123386013,239.3263027939017],[121.36055105211159,239.386366579381],[121.28050132090766,239.44629850218203],[121.2004082670193,239.50616994122475],[121.12026769085934,239.5659819980841],[121.0400818920526,239.6257336718977],[120.95943789884097,239.6849670174974],[120.87957512616126,239.7450549702001],[120.79925435896415,239.80462429461392],[120.71888896904522,239.86413303575694],[120.63847825644203,239.9235812938917],[120.55802262107953,239.98296886886817],[120.47752206295775,240.0422957606864],[120.39697678200164,240.10156176927137],[120.31638687821123,240.16076689458555],[120.23575205169902,240.21991143674148],[120.15507280212748,240.27899449555173],[120.07434743005922,240.33801757165367],[119.99357893485654,240.39697896392235],[119.91276561708207,240.45588017299528],[119.83190817613576,240.51471959861],[119.75100631228008,240.573497940879],[119.67006012547759,240.63221509976475],[119.58906961576575,240.69087117526726],[119.50803508295705,240.74946566727408],[119.42695672757648,240.8079999757101],[119.34583434887406,240.86647210065047],[119.26466704729984,240.92488324243254],[119.18345552277879,240.9832332007939],[119.10220007519834,241.0415216756221],[119.02090060459605,241.09974876695455],[118.93955721097188,241.1579144747538],[118.85816989428838,241.2160186990198],[118.77673625480816,241.27406214065255],[118.6952611920059,241.3320433978147],[118.61374180655679,241.38996427159347],[118.53217949756078,241.44782236146415],[118.45057326546787,241.50561886780167],[118.36892361027806,241.56335379041846],[118.2872302319164,241.62102692942705],[118.2053321988192,241.67855414517078],[118.12355297400116,241.73610341636302],[118.04188965772494,241.79367544409126],[117.96002038675081,241.8511016490421],[117.87810989252964,241.90846586944724],[117.79615507577412,241.96577000646909],[117.71415803517161,242.02301055932037],[117.6321177713222,242.080189128376],[117.55003428426338,242.13730581363595],[117.4679077739201,242.19436041502524],[117.38573364044274,242.25135333426877],[117.30352118356811,242.3082838678792],[117.22126490367162,242.36515301791894],[117.13896650019063,242.42195928375054],[117.05662757316254,242.47870276477403],[116.97424332303768,242.53538466278928],[116.8918117494787,242.59200407854644],[116.80934165274746,242.64856170874538],[116.72682823269434,242.70505715518618],[116.64427328913166,242.76148991719387],[116.56167882209682,242.81786009401839],[116.47903833170275,242.87416798809727],[116.39635261704943,242.93041119913067],[116.3136276798989,242.98659442486826],[116.23086271980122,243.0427164656101],[116.14805293574426,243.09877462315643],[116.06519972802789,243.15476969698219],[115.9823032962396,243.2107005870124],[115.89936914244151,243.26657279118416],[115.81639046445912,243.32238051204797],[115.73336966296722,243.37812554870365],[115.65030743781578,243.43380750088875],[115.5672037887798,243.48942576860327],[115.48406031687166,243.54498305124707],[115.40087192096675,243.6004763507328],[115.31764200140228,243.65590656578547],[115.23436995874083,243.7112751966299],[115.15105749260726,243.76658124262875],[115.06770120262684,243.821823705057],[114.9843030890244,243.87700318316467],[114.90086335179993,243.93211967687674],[114.81738209091591,243.9871730861557],[114.7338592064099,244.04216351103906],[114.6502951979818,244.0970901513394],[114.5666908658566,244.1519536067566],[114.48304371029694,244.20675457822819],[114.39935503111525,244.26149256526665],[114.31562512816151,244.31616716775957],[114.23185480184819,244.37077948540684],[114.14804255142533,244.4253275187711],[114.06418897726792,244.47981226762727],[113.98029427937595,244.53423373190034],[113.89635855771193,244.58859181155285],[113.8123823121258,244.64288610639733],[113.72836464288014,244.6971173167712],[113.6443059498624,244.75128514252447],[113.56020633299758,244.80538938361974],[113.47606599228568,244.8594300399819],[113.39188442776423,244.9134072117985],[113.30766243943316,244.96732089876957],[113.22339982721749,245.02117090097005],[113.13909649111724,245.07495721843748],[113.05475263113239,245.12867985109688],[112.97023708430979,245.1821709481224],[112.88571919549972,245.23581674603707],[112.80134804532946,245.28929888891332],[112.71697215215943,245.3429330335789],[112.63236017339366,245.39633896676037],[112.54775467992746,245.4497056975071],[112.46312765256286,245.50298203632263],[112.37825335876578,245.55608126785046],[112.29345631161317,245.6093048704196],[112.2087098121821,245.66238905402358],[112.12374053147914,245.71552322117387],[112.03947694448931,245.7683738236696],[111.95460977299187,245.82126585251203],[111.86970267749729,245.87409389632137],[111.78475575789307,245.92685765506025],[111.69974321620599,245.97956253840317],[111.61470995273291,246.03220932951268],[111.52964336091225,246.084780533115],[111.44453034588238,246.1372898541216],[111.35938280711748,246.18973588807017],[111.27419734300531,246.24211433623594],[111.18897255467095,246.29442819914368],[111.10370854222691,246.346677776756],[111.01841150128523,246.39885136674857],[110.93309503851998,246.45096676402022],[110.8477125536344,246.503023186046],[110.76229034445166,246.55501482296378],[110.67682941115919,246.60694217439857],[110.59132905368205,246.65880504061283],[110.5057896719452,246.71060322145667],[110.42021126598614,246.76233681692997],[110.33459383576738,246.8140057270328],[110.24893927986378,246.86560615105293],[110.16325190015002,246.9171430873775],[110.07751779715211,246.96861794121887],[109.99174506978194,247.02002780953978],[109.90593311811462,247.07137289256525],[109.82008244218754,247.12265329010773],[109.73419324185072,247.17386860209226],[109.64826541714167,247.22501892855632],[109.56229886824786,247.2761047695374],[109.47629439486931,247.3271253247355],[109.39025079723105,247.37808119460067],[109.30416877510802,247.42897177887036],[109.21786853803788,247.4798225449677],[109.13170976724535,247.530583358009],[109.04551277200558,247.58127898537984],[108.95932323319036,247.63185840994635],[108.8731837993216,247.68245101572447],[108.78687203085252,247.73295138612144],[108.70052213793618,247.78338657081048],[108.61413412057257,247.83375656979155],[108.52770897853662,247.88406078268974],[108.44124511220346,247.93430021010494],[108.3547433213855,247.98447435173722],[108.26820350615775,248.03458340762404],[108.18162666618265,248.08462647739046],[108.09501140183531,248.13460456156145],[108.00835851289067,248.184517059837],[107.92166779946122,248.2343642722921],[107.834939461397,248.2841457988518],[107.7481196174019,248.3336448597063],[107.66136891181415,248.38351299465992],[107.57452810007048,248.43309806338334],[107.4876495639545,248.48261814624885],[107.40073470350362,248.53207334273134],[107.31378161793049,248.58146155354353],[107.22679140772249,248.63078407827282],[107.1397635728422,248.68004081710671],[107.05269891332705,248.72923186974515],[106.9655981295895,248.77835833592565],[106.87845882080468,248.82741801654834],[106.79128268731002,248.87641181097558],[106.70406972906801,248.92533961920742],[106.61681994611611,248.97420154124393],[106.52953313849187,249.02299767716],[106.44220960608277,249.07172772684316],[106.35484934896381,249.1203918902935],[106.26745226705998,249.1689899675484],[106.18001866044625,249.2175221584954],[106.09254862874765,249.26598746309713],[106.00504177252668,249.31438738150337],[105.91749839155834,249.36272131360175],[105.8299184857676,249.41098905939228],[105.74230225515448,249.4591906187999],[105.65464959971895,249.50732599186216],[105.56667586360619,249.5552462853143],[105.4789519584883,249.60324918508582],[105.39147398421552,249.65133429263926],[105.30367752930283,249.69920441960755],[105.2158437496053,249.74700846056797],[105.12797384504785,249.79474621507052],[105.04006801559298,249.84241758304023],[104.9521261612032,249.89002246451457],[104.86414838195348,249.93756105945604],[104.7761353775813,249.98503266760218],[104.68808584846175,250.03243828944045],[104.60000059436976,250.07977732467089],[104.51187961538031,250.12704997329348],[104.42372421115583,250.17425533482074],[104.33553158214653,250.22139461030264],[104.24730372820227,250.26846739898917],[104.15903804947318,250.31547410185533],[104.07073914550902,250.36241351717618],[103.98240461664739,250.4092865458517],[103.8940348626633,250.4560925877319],[103.80562988366921,250.50283194281673],[103.71718957959018,250.54950441114374],[103.62871395053868,250.59611029271298],[103.5402046972646,250.64265158688664],[103.45165891800562,250.6891235947527],[103.36307811369917,250.7355288157484],[103.27446218430772,250.7818671499113],[103.1858113298313,250.82813859716637],[103.09712555015736,250.87434285751362],[103.00840494539844,250.9204802309156],[102.91964951551702,250.9665506173722],[102.83085936047559,251.01255391684603],[102.74203438031164,251.0584902293745],[102.6531747749502,251.10435935488272],[102.56428064442872,251.15016139333312],[102.47535178870973,251.1958962448007],[102.38638920738067,251.24156280891057],[102.29739360107898,251.28716278540008],[102.20836186972988,251.3326959754318],[102.1192952131083,251.3781617785557],[102.03019423132667,251.4235604945468],[101.94105912430999,251.4688919233301],[101.85188979205827,251.51415606494308],[101.76268613453401,251.55935281942328],[101.67344455181248,251.60448238812072],[101.58417204430565,251.64954586841026],[101.49486621100124,251.6945405611921],[101.40552665234925,251.73946766661618],[101.31615326838717,251.78432728471998],[101.22674595907753,251.829119315541],[101.13730482445783,251.87384385904176],[101.04782956456557,251.9185010153347],[100.95832097928822,251.9630904841199],[100.86877366930112,252.00761406742217],[100.77919663426617,252.05207086186664],[100.68958717287106,252.09645736846602],[100.59994418612834,252.14077628763263],[100.51026757415055,252.18502791940395],[100.42055773660014,252.22921136363004],[100.33081557317706,252.27332581997345],[100.24103858470649,252.31737348937153],[100.15122757085084,252.36135347152435],[100.06138463161,252.4052657656444],[99.97150736758412,252.44911197263158],[99.88159826742303,252.49288849155238],[99.7916561518018,252.53659712284917],[99.70167978049555,252.580237266987],[99.61167163637909,252.62378992303348],[99.5216318239274,252.6672936909521],[99.43156439515269,252.71072726922188],[99.34145809166829,252.75409496206504],[99.2513190426487,252.79739456718295],[99.16114278801932,252.84062588624812],[99.07093958792937,252.88378931541308],[98.98070283230433,252.9268846571565],[98.89043351106912,252.96991171110722],[98.80013287411117,253.01287017679653],[98.70979338150602,253.05576025705182],[98.6194267234778,253.09858254748937],[98.5290282199519,253.1413368498642],[98.43859716077831,253.18402276444255],[98.34813404599456,253.22664039103688],[98.2576386655631,253.26918962972604],[98.16711286955885,253.31167067981622],[98.07655331749451,253.35408224256],[97.98596615169467,253.39643051565446],[97.89534495897227,253.43870700150396],[97.80469057030226,253.48091429979704],[97.71400313534713,253.5230515104775],[97.62328939680638,253.56512583101738],[97.53253835111832,253.60712776554234],[97.44175561970755,253.64906111194458],[97.35094218313648,253.69092736985652],[97.26009617031775,253.73272363997958],[97.16921869170129,253.77445112189747],[97.0783096573621,253.81611001564391],[96.98736916730016,253.85770032118143],[96.89639734144048,253.899221838465],[96.80539326993312,253.94067496783583],[96.71359279008183,253.98202599585198],[96.62253016671619,254.02334084717],[96.53197325335263,254.06449560883593],[96.44106787427593,254.10579520118637],[96.34990881370474,254.14690418865382],[96.25871873737326,254.1879444877473],[96.16747501689561,254.22892040695274],[96.07621705885651,254.26982283149212],[95.98493401494424,254.3106562654338],[95.89327658910854,254.3511646397456],[95.80193357378808,254.3918609961669],[95.7109005080832,254.4327429363704],[95.61949464067975,254.4733004163514],[95.52805817740352,254.51378890780103],[95.43659117825449,254.55420841069667],[95.34512353135554,254.59455391383005],[95.25359571034839,254.6348351395241],[95.16203772343091,254.67504727652556],[95.07044918056563,254.7151902249806],[94.97883027175254,254.755263984818],[94.88718120699161,254.79526855595893],[94.79550193628289,254.83520393842224],[94.7037925596263,254.87507013217038],[94.61198957770135,254.91486896101569],[94.5202016790379,254.95459648419975],[94.42840228438781,254.99425471168996],[94.33657273375239,255.03384365048376],[94.24471429709405,255.0733632001049],[94.15282504433794,255.1128131612772],[94.06098847495318,255.15219210268825],[93.96888891168685,255.19164074272672],[93.8769113608246,255.23088243699607],[93.78505346251659,255.26991758638127],[93.69301596960865,255.3090205031191],[93.60094897056534,255.34805373091677],[93.50811724592586,255.38701884548118],[93.4167266642976,255.425911719613],[93.32457146703564,255.4647363804703],[93.23238738367577,255.503491452155],[93.14017359418055,255.54217683497453],[93.04792753873765,255.58079302988892],[92.95565408704672,255.61933923507195],[92.86335235910784,255.6578154508536],[92.77102198510852,255.69622217737265],[92.67866267489879,255.73455901473784],[92.58627438859115,255.77282626296417],[92.4938572261481,255.81102382201408],[92.4014112474571,255.84915139186518],[92.30893650263069,255.88720927249864],[92.21643291159386,255.92519726394454],[92.1239007643841,255.963115466094],[92.0313400109264,256.0009636789659],[91.93877447133158,256.0387421936277],[91.84615718537796,256.0764504276894],[91.75351125328892,256.1140889724885],[91.6608369349519,256.15165752792745],[91.56813800987919,256.1891547925889],[91.47540710904626,256.22658336923644],[91.38264793192788,256.2639418564826],[91.28986057852403,256.30123025429],[91.19704509887221,256.3384486626397],[91.10420159289743,256.37559688149435],[91.01132997067465,256.4126751108877],[90.91843038212892,256.44968315076335],[90.82550287726018,256.4866210011027],[90.73254749610597,256.52348876189075],[90.63956430859125,256.56028623310124],[90.54641629448818,256.5969861661147],[90.45337768432749,256.6336432580987],[90.36031147776876,256.6702299604264],[90.26721768488704,256.70674647309403],[90.1740963756073,256.74319259607535],[90.08108240053257,256.7795965788035],[89.98790595853181,256.81590212244964],[89.89470213013303,256.8521372763607],[89.80147096533624,256.88830204051794],[89.70821272429139,256.92439681482387],[89.61492675662356,256.96042059952225],[89.52161389255765,256.9963739943018],[89.42827642370602,257.0322612983035],[89.33490943715647,257.0681814133766],[89.24151540400894,257.10392393857967],[89.14809441442586,257.13959597388646],[89.0546465683697,257.1751974192594],[88.9611706360281,257.21072877515974],[88.86766898721334,257.2461895406988],[88.77414009177555,257.28157931645035],[88.68058501978966,257.3168983020131],[88.5870033114057,257.35214689755946],[88.49339502639866,257.38732450306713],[88.39976020491854,257.42243151852097],[88.30609850647784,257.45746664404857],[88.21241077163904,257.4924313793349],[88.11869667051464,257.52732602450357],[88.02495101269254,257.562149481501],[87.93118420850945,257.59690264642336],[87.83739000774086,257.63158492161443],[87.74357032072409,257.66619720635794],[87.64972462682172,257.7007378008489],[87.5558532161837,257.73520710497866],[87.46195730895998,257.7696055182896],[87.3680328153008,257.8039334423155],[87.27408356501842,257.8381903756201],[87.1801084783754,257.8723770186084],[87.08610761488427,257.90649207125796],[86.99208102413249,257.9405344335501],[86.89803057735742,257.97450740478337],[86.80395268395937,258.0084093863041],[86.70985736393757,258.04224037435483],[86.6157284472557,258.0760002749993],[86.52157406387568,258.10968898518865],[86.42739428387247,258.14330670489676],[86.33318911717113,258.1768532341199],[86.23895754249669,258.2103251732408],[86.144701802399,258.24372932141887],[86.0504214555281,258.2770620788194],[85.95611537203405,258.31032384586626],[85.86178421157933,258.34351372231185],[85.7674293746513,258.3766330076312],[85.67304870170017,258.4096829026341],[85.57864260133837,258.44265970716714],[85.48421164420337,258.4755651210164],[85.38975586037019,258.5083993441707],[85.29527530972628,258.5411620766074],[85.20077141234655,258.57385351779425],[85.1062420183437,258.6064739685372],[85.0116871173427,258.63902242884024],[84.91710803013093,258.6715009982082],[84.82250441554595,258.70390657676876],[84.72787638426274,258.73624096448054],[84.63322376616881,258.76850386140734],[84.53854702115164,258.80069496737667],[84.44384593943623,258.83281488246723],[84.34912068087256,258.864863206619],[84.25437125534816,258.8968396398284],[84.15959770320049,258.92874508208024],[84.06480081390453,258.9605781330784],[83.96997918798536,258.9923401933478],[83.87513354521792,259.02403066261843],[83.78026406560222,259.05564954082286],[83.68537049895077,259.0871963280548],[83.5902189469427,259.1184622120113],[83.49502738451235,259.1497803109754],[83.40029579897445,259.1814100374704],[83.3055618447995,259.21267006482765],[83.21055030405662,259.24385929627465],[83.11551493612797,259.27497603665176],[83.02045275131374,259.3060210870801],[82.925370240176,259.3369959451259],[82.83026459147744,259.3678973118431],[82.73513558589309,259.39872698731403],[82.63998333331041,259.42948467149756],[82.54480788395442,259.4601709643748],[82.44960900752514,259.4907850660321],[82.35438642409758,259.52132717657446],[82.25914157355915,259.5517969954619],[82.16387387617236,259.5821952229119],[82.06858325178723,259.61252145895435],[81.97326975044129,259.64277580357066],[81.87756094916062,259.67303039642405],[81.78257037484214,259.7030634199274],[81.68718856242614,259.7331015901451],[81.59178020244957,259.7630662703129],[81.4963569760366,259.79296045605065],[81.40088846468937,259.82278815876555],[81.30541629772995,259.85254756284655],[81.20992304017206,259.8822253748307],[81.1144060556159,259.9118311957074],[81.01886629398639,259.94136482512044],[80.9233071953208,259.9708263617798],[80.82772335961951,260.00021580771045],[80.73211737684481,260.02953306194115],[80.63648929699674,260.0587781244531],[80.54083918003776,260.08795089522397],[80.44516715274288,260.11704277420546],[80.3494916899108,260.14606655447045],[80.25377599116909,260.17502124981905],[80.158038326029,260.2039055534001],[80.06228254355273,260.23271696377003],[79.9665013740408,260.261456283655],[79.87069853749293,260.29012351166],[79.77487403372166,260.31871814778503],[79.67902798201445,260.3472382919854],[79.5831604439463,260.3756881442381],[79.48727146884221,260.4040659045246],[79.39135691658998,260.4323712743975],[79.29542520718901,260.4606042506992],[79.19947221131459,260.48876663497833],[79.10350039016654,260.5168616263122],[79.0075050793577,260.5448775264491],[78.91148866140041,260.5728210344961],[78.81544791580737,260.6006908516607],[78.7193927056529,260.62849517424496],[78.6233134467002,260.6562227058421],[78.52720844992434,260.6838760470856],[78.43108754618714,260.7114574942892],[78.334945895939,260.7389682492678],[78.23878354734232,260.7664034120029],[78.14260405208444,260.793767481163],[78.04616243349506,260.821016048611],[77.94993883382787,260.84823503430005],[77.85369316652478,260.8753803282592],[77.75766475870644,260.9024975407443],[77.66138184819359,260.92950094865967],[77.56507599981992,260.9564300651715],[77.4687499036977,260.98328518927104],[77.37240053095219,261.0100693220943],[77.27603756120767,261.03678146001135],[77.17965101408988,261.06342060676474],[77.08324446974855,261.089987161012],[76.98681782822118,261.1164812227906],[76.89037142950775,261.14290279197303],[76.79390520360828,261.1692518685855],[76.69741920059775,261.1955286526093],[76.60091350032616,261.2217327440145],[76.50438846328097,261.2478654426659],[76.40784350863724,261.2739245487812],[76.31127901680746,261.2999111622179],[76.21469777775391,261.32582518192964],[76.11809432143944,261.35166650996774],[76.0214717380139,261.3774355451734],[75.9248295674398,261.40313218771917],[75.82816810926708,261.42875523749257],[75.73148770417077,261.454306494366],[75.63478990185074,261.4797851577582],[75.53807103245724,261.5051916290456],[75.44127421655675,261.5305274295579],[75.34451726182851,261.55581301511864],[75.24774141091419,261.58100210775876],[75.15094752277616,261.60611860715767],[75.05413144490228,261.63115581487216],[74.95729893231709,261.65612712874497],[74.86044803350828,261.68100184950583],[74.7636381160591,261.70582685489524],[74.66675016202797,261.73058098954334],[74.5698437408482,261.7552627311115],[74.47291890300727,261.77987337958086],[74.37597609783018,261.80441113478287],[74.27901456516693,261.8288755970025],[74.18203480539252,261.8532677660522],[74.085036418507,261.87758764208206],[73.98801480447314,261.9018351268169],[73.89098056441524,261.92601321628155],[73.79392839604614,261.9501158124641],[73.69685830060335,261.97414621536416],[73.5997702780869,261.9981044249818],[73.50266452845925,262.02199034124203],[73.40554105168289,262.04580386414483],[73.30839974783282,262.06954519372766],[73.21124091687155,262.0932142298781],[73.11406475917406,262.11681197252096],[73.01687067226658,262.1387318217694],[72.91956196020352,262.1621846141099],[72.82233322120989,262.1855655764556],[72.72508705521753,262.2088745453312],[72.62792066225711,262.23211158428694],[72.53064016394224,262.2553343660312],[72.43334261702866,262.2784275541595],[72.33603454307837,262.30144864623037],[72.23870624220454,262.3243979458813],[72.14135721433226,262.3472752532997],[72.04399185953615,262.3700807668357],[71.94661017777877,262.39281438648925],[71.84921126909761,262.4154762125978],[71.75179564170521,262.4380881449723],[71.65436337917653,262.46060638357847],[71.55691448972406,262.48305282841466],[71.45944917327283,262.5054272794058],[71.36196743192279,262.5277353365517],[71.2644230618147,262.54996671717794],[71.16690856485458,262.57212648659674],[71.06937840455699,262.59571736198984],[70.97183049035043,262.61623114382434],[70.87426741284388,262.6381761314457],[70.77673536963408,262.66154590752933],[70.6791402377924,262.6833460071608],[70.5815289789519,262.7050741128349],[70.48390199341254,262.7267310244015],[70.38625918106187,262.748316441898],[70.28860064178737,262.7698300652871],[70.19092797656388,262.79127449396856],[70.09323784876898,262.80961872898047],[69.99553366470805,262.83394626968425],[69.89781261860065,262.85517501649326],[69.80007614586938,262.87633276908235],[69.70232574636414,262.8974191268889],[69.60455851989764,262.9184335910005],[69.50677616703227,262.9393776607796],[69.40884227739011,262.96022368737795],[69.31102729107708,262.9810785693882],[69.21291758014733,263.0018678619154],[69.11535399957933,263.022471349631],[69.01749539439462,263.0430092479761],[68.91975849220134,263.0635551006832],[68.82187085326872,263.08400300990957],[68.72396988767461,263.10437982412844],[68.62603859658267,263.1246886497145],[68.52784215329719,263.144591674704],[68.42989694638126,263.1648583055055],[68.33193723746656,263.1848529417262],[68.23422406533425,263.2052122855214],[68.13623454100919,263.22516583291997],[68.03823049006019,263.245048385761],[67.94021231267473,263.26486044389446],[67.84217970862785,263.2846014074329],[67.74413347664448,263.30426787607655],[67.64608781871111,263.32386514450013],[67.54801323599234,263.34339632376583],[67.44974614464982,263.3626378752017],[67.35182459154524,263.382247997087],[67.25370822962954,263.40156799200497],[67.15557834213988,263.42081979199025],[67.05743472806371,263.44000069711797],[66.95927738770106,263.4591115073881],[66.86110642112693,263.47815242276323],[66.76292282826624,263.49712324286827],[66.66472490949411,263.5160249683406],[66.56651386481046,263.53485759873024],[66.46826949365419,263.5536196416124],[66.37003509609728,263.5723112807495],[66.27178557221649,263.590932725554],[66.17352192309926,263.60948687565076],[66.07524554848294,263.6279730305147],[65.97695574739264,263.64638859040866],[65.87864971712852,263.6647263563831],[65.78033416414013,263.6830035259243],[65.6820056853152,263.70121180030776],[65.58366458061622,263.71935107942113],[65.48531075008066,263.73742146330176],[65.38694429374605,263.7554230519123],[65.28856881389962,263.7733619439022],[65.19017260671721,263.79122794365975],[65.09176867321041,263.80902374630966],[64.99335241401701,263.8267510535769],[64.89492463018696,263.8444126651613],[64.79648391965787,263.86200308158817],[64.69803088351722,263.8795252026323],[64.59956572180246,263.8969791282188],[64.50108833455111,263.914364958385],[64.40259912161316,263.931682292981],[64.30409878317604,263.9489316317443],[64.20558581946484,263.96611357523733],[64.10706103029203,263.98322762316013],[64.00852431520761,264.0002725755503],[63.909976575974014,264.01725313207],[63.81141671071633,264.034164293132],[63.71284541995949,264.0510074584738],[63.61426270407851,264.0677836280953],[63.51567406202301,264.0844899999342],[63.41706849555622,264.1011312781152],[63.31845130389033,264.1177053606508],[63.21982318710023,264.13421244727874],[63.12118354458599,264.150650938224],[63.02252987856032,264.16702673442353],[62.92387309044739,264.18334363178985],[62.82520007428565,264.19958573523627],[62.72651663202471,264.2157582425877],[62.627822364939576,264.2318645539937],[62.52911717291775,264.24790436949195],[62.43040055592178,264.2638775892698],[62.331674114251555,264.27978501272725],[62.232936747757165,264.2956262402769],[62.1341893564385,264.3114012715812],[62.03543114029567,264.32711010694004],[61.936662399403616,264.3427529462411],[61.83696365162777,264.35731093421776],[61.73909334228438,264.3738377366699],[61.64029352725716,264.38928288760974],[61.541484788230605,264.4046640418917],[61.44266542366735,264.4199771001534],[61.34383823502972,264.4352259613446],[61.244998723368,264.4504134271526],[61.14614718425713,264.46552769746575],[61.047286722196986,264.48058077112074],[60.948416736175034,264.4955699483427],[60.84953662547886,264.51049332935673],[60.7506469904834,264.52535191393787],[60.65174703122621,264.54014580238595],[60.55283784774471,264.5548750942887],[60.45391914000146,264.56953968975836],[60.35498990803396,264.5841396891702],[60.25605215202961,264.59867559177394],[60.15710407045107,264.61314329824495],[60.05797848108499,264.6275902712798],[59.95918243968336,264.6418984207247],[59.86020728768183,264.6561783373339],[59.761223111943494,264.6703949573226],[59.66222941156839,264.68454588087843],[59.563226787681444,264.6986341077761],[59.46420644062081,264.71266054131564],[59.36518377087286,264.7266264757219],[59.26615227708808,264.7405283134327],[59.167114158591346,264.75436425362307],[59.0680664160203,264.76813599741797],[58.9690104498999,264.7818449442923],[58.86994576015513,264.79549089443356],[58.770868346823846,264.8090739493417],[58.671786510055384,264.82259450590425],[58.57269495041268,264.83605406610855],[58.47359846515785,264.8494453281552],[58.374498957215806,264.86277609133106],[58.275383826887364,264.87604716036117],[58.176259473422164,264.88925653284554],[58.077127496520006,264.90240340818434],[57.97798709636851,264.9154882866774],[57.87883867311763,264.9285115681749],[57.77968452519218,264.94146905181447],[57.68052005570502,264.95436903932057],[57.58134836285589,264.9672067295311],[57.482168447507405,264.9799844228208],[57.38298340913431,264.9927007180273],[57.28378874777444,265.00535571683815],[57.18458466354029,265.0179497191782],[57.08537295650672,265.03048292437256],[56.98615352667373,265.04295533245875],[56.88692507104143,265.05535894392466],[56.7876906965096,265.0677121576067],[56.68844960105325,265.0800095738051],[56.58919618047284,265.09223999462074],[56.489688286560465,265.1042749108499],[56.39026279906709,265.1165935961967],[56.290975820251646,265.12866872958574],[56.19205108291085,265.1405877271235],[56.09276494994546,265.1525184601852],[55.99346989508075,265.16439079658846],[55.89416901797898,265.1762038351709],[55.794876109939224,265.1879343707591],[55.69561588929719,265.19963129408734],[55.596295145671945,265.2112669401072],[55.49696937890961,265.22284088800643],[55.39763479178542,265.23436053920943],[55.29823858891562,265.2458382135154],[55.19895195281319,265.25722724672767],[55.099596999690576,265.2685709055555],[55.00023552478096,265.27985646682504],[54.90086752872185,265.29108563053603],[54.80149291042575,265.3022554967261],[54.702108670755365,265.3133683665202],[54.602720009597846,265.32442393796833],[54.503325324028296,265.3354144116711],[54.40392601910911,265.3463532871024],[54.3045203958154,265.35724316489967],[54.20510784844721,265.3680688452889],[54.10568897985455,265.3788379280447],[54.00626148591252,265.3895394140302],[53.906792453610976,265.4001386155853],[53.8073554214572,265.4107382051405],[53.70795048735117,265.4213325826585],[53.60850471263559,265.4318186754842],[53.50904981718318,265.4422494717262],[53.409584502681554,265.4526294718718],[53.31011486459278,265.4629465736342],[53.21064250647923,265.473210276413],[53.11116412744116,265.48341818144564],[53.01168032774099,265.49357098850726],[52.91219100741627,265.5036687976351],[52.81269506440455,265.51370610924226],[52.71319500541814,265.52370082238986],[52.61368952404467,265.53363583756675],[52.51417832155916,265.543514554885],[52.41466179871155,265.5533389741946],[52.315141455951746,265.5631102949329],[52.21561589226734,265.57282581762524],[52.11608350844597,265.58248764287123],[52.016546004487495,265.59209577003355],[51.917003581666904,265.60165359903687],[51.817456636984176,265.61115312973175],[51.717904073439385,265.62060236253024],[51.618352788144534,265.62999359484525],[51.518791485525426,265.6393386309136],[51.41911680063947,265.64846430948467],[51.31964971590122,265.65785701022463],[51.22007164964592,265.66703235256733],[51.12048926602846,265.6761613965258],[51.020907268611,265.6852536403368],[50.92131564674426,265.69428068775244],[50.821714805303216,265.7032555386217],[50.722113844099724,265.71217768953215],[50.62250826354659,265.72104824217126],[50.52260572333965,265.7294931061401],[50.422783846926734,265.7383747398908],[50.32337466720996,265.7469808188611],[50.22404124885007,265.7560171694513],[50.1244175714359,265.7646294288585],[50.02478527568488,265.77319279149424],[49.925148460734206,265.781704955821],[49.825507526996375,265.7901670216887],[49.725867074021025,265.79857778737266],[49.626217702633866,265.8069394563976],[49.526562407809635,265.81523862763925],[49.426905703648046,265.8235128994078],[49.32724537927426,265.8317332725301],[49.22757913307592,265.8398954478689],[49.127912870190116,265.84801312321093],[49.0282388871299,265.8560770014442],[48.928561085544985,265.8640914811059],[48.82887939519803,265.8718692622093],[48.729193721888606,265.87995914482826],[48.62950516439206,265.88782452851297],[48.52981188848338,265.8956408139636],[48.43011359783759,265.90341780129205],[48.330411786004575,265.91113828993696],[48.230707356021796,265.9188103795602],[48.130999308001805,265.926434370537],[48.03128724396963,265.9340156630166],[47.93157196028771,265.94154455669997],[47.83185056033126,265.94903005267383],[47.73212793929993,265.9564593491017],[47.63240140559391,265.9638548469944],[47.53267175133813,265.97119554605354],[47.43293897934514,265.9784889462784],[47.333202589877416,265.9857357478566],[47.23346268297249,265.9929360507506],[47.13371935874281,266.00009015492276],[47.0339728207134,266.00720746029754],[46.934225360034105,266.014264366014],[46.8343406840645,266.02128052318335],[46.73453983312663,266.0280967489042],[46.63478032336077,266.0350227591299],[46.53501786830752,266.0420946704704],[46.43507163305483,266.0489527507132],[46.33552574418661,266.0556677808164],[46.23588266702521,266.0624140473674],[46.13610847194809,266.0691125630841],[46.03632995977125,266.07576548041646],[45.93655003289456,266.0823791982766],[45.83675648959391,266.08894912123986],[45.73696962866774,266.09547204169394],[45.63717935120442,266.10195086342605],[45.537386857428714,266.1083861859862],[45.43759122566587,266.11472020971604],[45.3377928993782,266.12106883445733],[45.23799185366573,266.12736566021476],[45.13818939816588,266.133636386499],[45.03838294484132,266.13991291428283],[44.93857375041705,266.1460798430869],[44.83876184744295,266.15222397290506],[44.73894112826949,266.1583249060262],[44.63913848381986,266.1643584323647],[44.53931872973391,266.1703662651174],[44.439499060498036,266.1763336978355],[44.33967557498744,266.1822577319816],[44.23984827398962,266.1881404675556],[44.14002106331682,266.19399740309393],[44.04018873134444,266.19979754054873],[43.94035408384724,266.205556278869],[43.84051701898778,266.21126871809247],[43.74067764291598,266.2169512581806],[43.640835749256865,266.22258689920943],[43.54099174127296,266.2281843410285],[43.4411455178392,266.2337405836755],[43.34129682689348,266.2388501272163],[43.24144592627235,266.2447338716403],[43.14159425791408,266.25017031632063],[43.041739274743605,266.25556726224124],[42.941882075073295,266.26092020899006],[42.842023164190635,266.2662432563784],[42.74216173688319,266.2715225047074],[42.64229829498842,266.276762853789],[42.54243279076891,266.2818370036323],[42.44256536739934,266.2871267542105],[42.34269568170507,266.29225030562543],[42.2428241820235,266.29733655771787],[42.14295076839207,266.30238561052545],[42.04307534021078,266.30739586408583],[41.94319609736732,266.31236701907386],[41.84331384543677,266.3170472751699],[41.74343857585558,266.321947128663],[41.64355598221226,266.3270494849168],[41.54367107966931,266.33186144201613],[41.44378476726399,266.3366470996422],[41.343897646571236,266.3414106575699],[41.24400650690376,266.3461236170011],[41.1441149536239,266.3508002765849],[41.04422338676906,266.3554407361712],[40.94432860352697,266.36003749696056],[40.844432109597506,266.3646057583895],[40.74453400205567,266.36913772042095],[40.64463438138901,266.3736346830173],[40.54473314722247,266.37809564621625],[40.444830300081065,266.3825220100176],[40.344927439289705,266.38691197382155],[40.245021265861084,266.39126823886534],[40.145113979420074,266.39558980432406],[40.04520508000422,266.39987677038516],[39.94529480461358,266.40396113694817],[39.84538328134795,266.40818450398876],[39.74547004889493,266.4123833716686],[39.64555576001692,266.41669843975274],[39.54564019437663,266.42080880830133],[39.44571691827443,266.42489127973937],[39.345798032834466,266.42894884952915],[39.24588003224443,266.4329660189843],[39.14595841864215,266.43694848979186],[39.0460350709526,266.4408400612433],[38.94606753290367,266.4447573492679],[38.84587894922052,266.44828632015714],[38.746151472492244,266.4521004181517],[38.64626334566245,266.45631427641797],[38.546332360923515,266.4601070507264],[38.4464015631346,266.4638650249623],[38.34648244719489,266.467574594814],[38.24658442562867,266.4712691567543],[38.14665139198996,266.4749315318219],[38.04671734668884,266.4785628072666],[37.94678188863787,266.4821600832388],[37.84684572019947,266.48572965947534],[37.74690824028616,266.4892686362016],[37.64696964818546,266.4927751133426],[37.547025447947675,266.49625989258516],[37.4470858335346,266.49970687010534],[37.34714480929662,266.5031276481524],[37.24720166743384,266.5065014269902],[37.1472723194201,266.50985880065423],[37.0473286667949,266.51320387968156],[36.947394294219066,266.51649575522515],[36.847448113956574,266.5197671351952],[36.74750333118149,266.5230318146407],[36.6475594266189,266.5262383937528],[36.547610713994175,266.52942347466643],[36.44766109071949,266.53258015591956],[36.34771646301948,266.53572503529847],[36.24776511882001,266.538825917193],[36.14781296389555,266.5418981993895],[36.04786009854624,266.54494268185056],[35.947906022697,266.5479591647635],[35.84795273646023,266.5509479473784],[35.74799734017361,266.55390993078265],[35.64804113364957,266.5568446144889],[35.548084117000656,266.55975229849696],[35.448126890264234,266.562633082582],[35.34816846405286,266.5655152671169],[35.24820881717915,266.5683423521057],[35.14824886115548,266.5711450372086],[35.04828819279439,266.57391482257646],[34.94832731558333,266.5766610080209],[34.848364628997416,266.5793821941421],[34.74840193247405,266.58207688026516],[34.64843840205077,266.5846811666946],[34.54847178655268,266.58732525428377],[34.44850676104201,266.5899426412748],[34.34853692638171,266.59253563006746],[34.24857040657113,266.5951682176199],[34.14860265361071,266.5977124056286],[34.04863549116274,266.600231293414],[33.948667719152354,266.60272468142625],[33.84870083821693,266.60519426910264],[33.74873185409416,266.6076553575671],[33.64876125455902,266.6100753466345],[33.548789045686505,266.6124704363036],[33.44878942849098,266.61484333624935],[33.348817702593465,266.61719302573414],[33.24884676690843,266.6195166149208],[33.14887282297363,266.62181820523404],[33.04889877078884,266.6240977955863],[32.94892420971661,266.6263536861277],[32.84894903964445,266.62858557689583],[32.74875856261244,266.63079894840257],[32.648674010060404,266.6330775801923],[32.54869941475076,266.6352421707402],[32.448833877021,266.6372936203835],[32.34909195878254,266.6393970236734],[32.24911383857318,266.6414952155383],[32.14913611723878,266.64359040725355],[32.049157180979506,266.6456457994216],[31.94917873632022,266.6476787914037],[31.849196579248712,266.6496786847756],[31.749216318539595,266.65166887743567],[31.649237355580368,266.6536530696087],[31.54925627960884,266.65560256257163],[31.449156536670785,266.65737350002206],[31.349175848436715,266.65929029283734],[31.249190316740624,266.6610911874607],[31.149327192773143,266.66317933620155],[31.049342478476945,266.66502663052165],[30.949358856080664,266.66685232443086],[30.84937492625943,266.6686582184539],[30.749388688788372,266.6704437133409],[30.649404344454695,266.67221090751667],[30.54934058662664,266.6739421314699],[30.449354520468148,266.6756511262873],[30.349369253447065,266.6773578208048],[30.249387085713266,266.67906261416],[30.14940090556732,266.68073430901745],[30.04949362492829,266.68240467428757],[29.94950652978241,266.6840363694854],[29.84951932826158,266.6856510647219],[29.749305764631544,266.6873668448511],[29.649319650323122,266.68894743967746],[29.54929747521757,266.6900992479965],[29.449570454753257,266.6919300456805],[29.349583019369987,266.6934544409984],[29.249594978811757,266.69496503654216],[29.149605930453617,266.69645483246245],[29.049616575570525,266.6979272284965],[28.949626810637454,266.6993728246823],[28.849636642816932,266.7008107210188],[28.749646571846398,266.70224021731826],[28.649617859803868,266.70329352808176],[28.549367894139124,266.70473722184255],[28.44970490662044,266.70638919550163],[28.349710160162886,266.7076173935403],[28.24971820269252,266.7090828905498],[28.149727398384584,266.7104234871181],[28.049735178626833,266.71172288421417],[27.949729149345018,266.71299688648713],[27.849736127974836,266.71429198388364],[27.74974289336714,266.7155517813576],[27.64974945298451,266.7167961789076],[27.549755806864397,266.7180252765337],[27.44976195508181,266.71923927423586],[27.349767597599254,266.7204380721266],[27.249773826241693,266.72159986979494],[27.149779266134146,266.72279166776116],[27.049784692039168,266.72394616573],[26.949789913144173,266.7250878637748],[26.84979492828674,266.7262136618956],[26.74981163630352,266.7273204556303],[26.649816119833645,266.7283619539446],[26.549823146526023,266.72951855131333],[26.449829840443527,266.73058774880064],[26.34983412307369,266.7316268471901],[26.24983820660384,266.7326683456544],[26.149842189646563,266.73370854415634],[26.049846065189286,266.7347287426971],[25.949849733869513,266.73573064131415],[25.84985329763728,266.73671943996965],[25.749856956755025,266.73769583858854],[25.64985881096041,266.73865913788336],[25.54986185961576,266.73960763672915],[25.449864904146068,266.74054513557576],[25.349867443801458,266.7414696346108],[25.24986997888186,266.7423819336467],[25.14987270938724,266.74328203260836],[25.049875302542688,266.7440825316146],[24.949877757835566,266.7450487306842],[24.84988027476598,266.7459126297235],[24.749882587346434,266.74676492883856],[24.64988539621436,266.7476073277669],[24.54988770001981,266.7484362268836],[24.44985529959021,266.7492538390136],[24.34984789983386,266.7500732417685],[24.249849890776915,266.7508678410002],[24.149852177519904,266.7516512401201],[24.049731324521616,266.7523286854099],[23.94969135548004,266.753230000384],[23.84970317618499,266.75383729591636],[23.749738441250713,266.75456288266537],[23.649739807743828,266.75529228212656],[23.549783092608948,266.7560706658719],[23.449906865580914,266.756817319432],[23.34990862033652,266.75751541874547],[23.249910264104642,266.75818421809845],[23.14990991034793,266.758859618201],[23.04991306131592,266.7595476169902],[22.949917401596394,266.7602071153313],[22.849918937677046,266.7608554147232],[22.7499205701952,266.7614942140783],[22.649922099113383,266.7621234134716],[22.549918121356967,266.76273481492865],[22.449925007824817,266.7632508123049],[22.349927729317898,266.76386021124955],[22.24992915227361,266.76447351068146],[22.149925263717194,266.765056112103],[22.04992739792283,266.7656994112703],[21.949929502803514,266.7662645104431],[21.84899200370026,266.76681916196594],[21.749932201952475,266.76736640935314],[21.649933397120748,266.76790560886525],[21.549934789101513,266.76843630830297],[21.449921582545784,266.7689709132154],[21.34992296830154,266.7694850126543],[21.24992385124486,266.76999161228116],[21.149925230963106,266.77048961172113],[21.049926547344057,266.7708187111731],[20.949927968387215,266.7714269106053],[20.849929249343035,266.77192821008254],[20.74993071732382,266.7723949094873],[20.64993222766725,266.7727079088653],[20.549933289198037,266.7731574084212],[20.449937545253675,266.77359230677814],[20.349941302471848,266.7740303053224],[20.249981057512485,266.774462490367],[20.149981509555857,266.77488669014974],[20.049982059049256,266.77530408989537],[19.949983005842626,266.7757142894916],[19.849983851586018,266.7761216891255],[19.749983893616985,266.77651918906],[19.64998613013529,266.7769019881706],[19.54999576616558,266.77728348450637],[19.449996204109,266.7776700842917],[19.349996735752427,266.7780398840407],[19.249997365895865,266.77840568375245],[19.149999093414237,266.77876448305227],[19.050001619057525,266.7791182820524],[18.950002081075922,266.77956908183324],[18.85000266168194,266.77980278155434],[18.7500029901004,266.78016398137896],[18.65000343531881,266.7805699811629],[18.550004844312213,266.78087938057865],[18.450005155668208,266.7811950804065],[18.350004769386743,266.7815170804964],[18.250007184605124,266.781843079536],[18.150006890036167,266.78214297958993],[18.050007193592137,266.7824378794192],[17.95000769561065,266.7827286791737],[17.85000789504167,266.7830125790413],[17.75000585828542,266.78319997974063],[17.650011992103458,266.7835755773893],[17.550012185984485,266.7838446772579],[17.45001237802802,266.78410887712687],[17.350012568271552,266.78436827699613],[17.24993000647106,266.7844889078876],[17.149930493114567,266.78473870764503],[17.05001322853974,266.7851185765684],[16.950013411883276,266.785359576439],[16.849898045585036,266.7854682196313],[16.750013873845376,266.78582897614353],[16.650014152351446,266.7860570759775],[16.55001492928247,266.78628097562427],[16.45001510463854,266.7865006754963],[16.349998278008314,266.78671508174375],[16.249919443957452,266.7869097112425],[16.149919514813547,266.78711741115296],[16.049919584244634,266.78732131106364],[15.949918144713365,266.7875013115385],[15.849918411069439,266.7876970113748],[15.749918282750542,266.78790691136],[15.649994752251246,266.78811098262076],[15.549698239703162,266.7883629937528],[15.450011976037246,266.7884785760325],[15.350012436318337,266.78865807579484],[15.250012895211938,266.78883387555754],[15.150013152455557,266.7890052753955],[15.050013408199163,266.7891726752338],[14.94999725640642,266.78931998122334],[14.849997309712563,266.7894808811371],[14.749997270593639,266.78966198108685],[14.649995616662437,266.78980358163943],[14.549995666518555,266.78995528155383],[14.449992405162448,266.79007708270774],[14.349998069155646,266.79026648051945],[14.249998316199282,266.7904106803593],[14.149992765343313,266.79056048237385],[14.049405264240846,266.79057640260976],[13.949993454630572,266.7908360819795],[13.849991397361833,266.7909687826827],[13.750008438104317,266.79109617622373],[13.650007267973052,266.7911945765918],[13.550014304478736,266.7913106738837],[13.450016055647268,266.7914658731603],[13.35001619402837,266.79158697303933],[13.250016331547045,266.7917057729185],[13.150017968090566,266.7918219722353],[13.05001820380923,266.79193597207734],[12.950014838890667,266.7920482732694],[12.85001227025947,266.79215067416226],[12.750012203278146,266.79225747411726],[12.650013939409206,266.79237257339673],[12.5500151701778,266.7924733728646],[12.450015301171476,266.79257477274507],[12.350015331490113,266.79267437266304],[12.250015361058814,266.7927719725812],[12.149954360706857,266.7927897953799],[12.049953888963046,266.79288389548583],[11.949955106156665,266.7929484949563],[11.850015461896021,266.7931158722571],[11.750017198102086,266.7932311715365],[11.65001712388326,266.7933186714929],[11.550018849026856,266.79340447077436],[11.450018472633047,266.7934861708436],[11.350018397064247,266.79357007080023],[11.249972216661178,266.7936410880452],[11.150017541576688,266.7937262709768],[11.050004755133813,266.793781175698],[10.950004476452506,266.7938567757302],[10.850003584571283,266.79389717598985],[10.75000360551499,266.79397177590965],[10.650000538983875,266.7940797769895],[10.550000258465076,266.7941504770221],[10.44999987749631,266.7942199770922],[10.349999496040027,266.79428817716246],[10.250010214432962,266.7943559730702],[10.150009833464168,266.79442547314034],[10.050009350882931,266.7944906732482],[9.950008767589168,266.7945539733938],[9.850008384182928,266.7946169734644],[9.750007200926717,266.794680373835],[9.650006317257976,266.79474267409313],[9.550009631113966,266.79479837277677],[9.450010147670099,266.7948612725098],[9.350003320014395,266.7948062749887],[9.250008779057595,266.79498247287637],[9.150010800188682,266.79505757204606],[9.050010514157378,266.7951135720797],[8.949876299073082,266.7950921223311],[8.849874613454432,266.7951492228896],[8.749874726598136,266.7952030227733],[8.64987433962935,266.7952565228446],[8.549974062628536,266.79533658537656],[8.449971174609942,266.79538728638556],[8.349970686591206,266.79543798649445],[8.250008614582185,266.79553137220046],[8.15000832682594,266.79558277223435],[8.050008138019678,266.79563137223096],[7.9500078490633825,266.79567957226504],[7.850007655419631,266.7957152722626],[7.750007364663389,266.79575867229704],[7.6500108796068105,266.79581727090545],[7.5500113896380014,266.7958627706398],[7.450012299594135,266.7959080702241],[7.3498987715334465,266.7958520127155],[7.249645584732434,266.7959060075865],[7.149644064463843,266.79587070807656],[7.050011173644208,266.7959138703363],[6.950011182662934,266.7959566702583],[6.850011091606689,266.79599927021786],[6.74999559545148,266.7960282759533],[6.649987491233304,266.79603577891527],[6.549989504339379,266.7960894780865],[6.450010421531601,266.7961540701695],[6.349770229742205,266.7961947601665],[6.250011038181469,266.79623596978877],[6.149983146189697,266.79627608017347],[6.0499820468834855,266.7962966805095],[5.9499798549273635,266.7963368812567],[5.849978261733696,266.79637378177915],[5.7499762764900595,266.79643188245007],[5.649974375271398,266.7964473830865],[5.549972482640271,266.7964857837213],[5.449968500396778,266.7965518851417],[5.34996741192802,266.7966013854757],[5.249965719821887,266.79664118603546],[5.1499633071658195,266.79662618686154],[5.049961729309615,266.7967039873811],[4.949959542753476,266.7967585881272],[4.849957550572327,266.79679818879947],[4.749957051941095,266.7968205889104],[4.649945358898151,266.79685789322036],[4.549943872829459,266.7969137937039],[4.449942381210775,266.7969548941885],[4.349929988430375,266.7969928987609],[4.24993957798597,266.7969837950865],[4.149938385167275,266.79702169545885],[4.049938592385956,266.7970596953062],[3.9499376168547258,266.7971436956003],[3.8499488239226594,266.7971812913228],[3.7499478243914837,266.7972012916213],[3.649946531422785,266.7972387920312],[3.5499456375540603,266.7972738922913],[3.449944644660377,266.7973115925887],[3.3499436372166826,266.79731049288876],[3.2499419436480252,266.7973463934487],[3.1499378653795134,266.79742309490587],[3.0499380723357206,266.7974603947533],[2.9499318795923557,266.79749849700056],[2.8499408875979384,266.7975385935478],[2.749940494554181,266.7975758936202],[2.649940207997929,266.79763049365386],[2.550021214985975,266.79766786320135],[2.4500196183047933,266.7976954637244],[2.35002142863587,266.79774176297116],[2.250021435442079,266.79777866289356],[2.1499135371559532,266.79780200327934],[2.049913743999639,266.7978390031268],[1.9499144509182713,266.7978762027867],[1.8499146577619854,266.79791320263416],[1.7499514628406416,266.7979454887569],[1.6499515696093567,266.79798228864183],[1.5500214808356532,266.798030962351],[1.450021487566886,266.7980676622734],[1.349973190176513,266.7980933803091],[1.2499591911712287,266.79811478548265],[1.1500042997742526,266.7981564684922],[1.0500042906178066,266.79841746843636],[.9500044975365256,266.7984546682838],[.8500041144677652,266.7985185683543],[.7496608798483919,266.79817839696545],[.6499476965842348,266.798508389355],[.5500559037953394,266.7985463487024],[.4500490112770592,266.7985850512123],[.3500419483462167,266.7987026537915],[.2500344533529528,266.79873475652676],[.15002654553475736,266.79873265941444],[.050018452679069014,266.79877046237425]]};var e5={lengthMm:250,samplingMm:.1,points:[[0,0],[.1,0],[.2,0],[.3,0],[.4,0],[.5,0],[.6,0],[.7,0],[.8,0],[.9,0],[1,0],[1.1,0],[1.2,0],[1.3,0],[1.4,0],[1.5,0],[1.6,1e-7],[1.7,1e-7],[1.8,1e-7],[1.9,1e-7],[2,2e-7],[2.1,2e-7],[2.2,3e-7],[2.3,4e-7],[2.4,5e-7],[2.5,6e-7],[2.6,7e-7],[2.7,9e-7],[2.8,1e-6],[2.9,12e-7],[3,15e-7],[3.1,17e-7],[3.2,2e-6],[3.3,24e-7],[3.4,28e-7],[3.5,32e-7],[3.6,37e-7],[3.7,42e-7],[3.8,48e-7],[3.9,55e-7],[4,62e-7],[4.1,7e-6],[4.2,79e-7],[4.3,89e-7],[4.4,1e-5],[4.5,111e-7],[4.6,124e-7],[4.7,138e-7],[4.8,153e-7],[4.9,169e-7],[5,187e-7],[5.1,207e-7],[5.2,227e-7],[5.3,25e-6],[5.4,274e-7],[5.5,3e-5],[5.6,328e-7],[5.7,358e-7],[5.8,39e-6],[5.9,424e-7],[6,461e-7],[6.099999999,5e-5],[6.199999999,541e-7],[6.299999999,586e-7],[6.399999999,633e-7],[6.499999999,683e-7],[6.599999999,736e-7],[6.699999999,793e-7],[6.799999999,853e-7],[6.899999998,916e-7],[6.999999998,983e-7],[7.099999998,1054e-7],[7.199999998,1129e-7],[7.299999997,1209e-7],[7.399999997,1292e-7],[7.499999997,138e-6],[7.599999996,1473e-7],[7.699999996,157e-6],[7.799999995,1673e-7],[7.899999995,1781e-7],[7.999999994,1894e-7],[8.099999993,2013e-7],[8.199999992,2138e-7],[8.299999992,2268e-7],[8.399999991,2405e-7],[8.49999999,2549e-7],[8.599999988,2699e-7],[8.699999987,2856e-7],[8.799999986,302e-6],[8.899999984,3192e-7],[8.999999983,3371e-7],[9.099999981,3558e-7],[9.199999979,3753e-7],[9.299999977,3957e-7],[9.399999975,4169e-7],[9.499999972,439e-6],[9.59999997,462e-6],[9.699999967,486e-6],[9.799999964,5109e-7],[9.89999996,5368e-7],[9.999999957,5638e-7],[10.09999995,5918e-7],[10.19999995,6209e-7],[10.29999994,6511e-7],[10.39999994,6825e-7],[10.49999993,7151e-7],[10.59999993,7488e-7],[10.69999992,7838e-7],[10.79999992,8201e-7],[10.89999991,8577e-7],[10.9999999,8967e-7],[11.09999989,937e-6],[11.19999988,9787e-7],[11.29999987,.0010219],[11.39999986,.0010666],[11.49999985,.0011128],[11.59999984,.0011606],[11.69999983,.0012099],[11.79999982,.0012609],[11.8999998,.0013136],[11.99999979,.001368],[12.09999977,.0014242],[12.19999976,.0014821],[12.29999974,.0015419],[12.39999972,.0016036],[12.4999997,.0016672],[12.59999968,.0017327],[12.69999965,.0018003],[12.79999963,.0018699],[12.8999996,.0019416],[12.99999958,.0020155],[13.09999955,.0020916],[13.19999952,.0021699],[13.29999949,.0022504],[13.39999945,.0023333],[13.49999941,.0024186],[13.59999938,.0025063],[13.69999934,.0025965],[13.79999929,.0026892],[13.89999925,.0027845],[13.9999992,.0028825],[14.09999915,.0029831],[14.1999991,.0030864],[14.29999904,.0031925],[14.39999898,.0033015],[14.49999892,.0034133],[14.59999885,.0035281],[14.69999878,.0036459],[14.79999871,.0037668],[14.89999863,.0038908],[14.99999855,.0040179],[15.09999847,.0041483],[15.19999838,.004282],[15.29999828,.004419],[15.39999818,.0045595],[15.49999808,.0047034],[15.59999797,.0048508],[15.69999786,.0050018],[15.79999774,.0051565],[15.89999761,.0053148],[15.99999748,.005477],[16.09999734,.005643],[16.1999972,.0058129],[16.29999705,.0059868],[16.39999689,.0061647],[16.49999672,.0063467],[16.59999655,.0065329],[16.69999637,.0067233],[16.79999618,.0069181],[16.89999598,.0071172],[16.99999577,.0073207],[17.09999556,.0075288],[17.19999533,.0077414],[17.2999951,.0079587],[17.39999485,.0081807],[17.49999459,.0084076],[17.59999432,.0086393],[17.69999404,.0088759],[17.79999375,.0091176],[17.89999345,.0093643],[17.99999313,.0096163],[18.0999928,.0098735],[18.19999245,.010136],[18.2999921,.0104039],[18.39999172,.0106772],[18.49999133,.0109562],[18.59999093,.0112408],[18.69999051,.0115311],[18.79999007,.0118272],[18.89998961,.0121291],[18.99998914,.0124371],[19.09998865,.012751],[19.19998813,.0130711],[19.2999876,.0133974],[19.39998705,.01373],[19.49998647,.014069],[19.59998588,.0144145],[19.69998526,.0147665],[19.79998461,.0151251],[19.89998395,.0154904],[19.99998325,.0158626],[20.09998253,.0162417],[20.19998179,.0166277],[20.29998102,.0170208],[20.39998022,.0174211],[20.49997939,.0178287],[20.59997852,.0182436],[20.69997763,.0186659],[20.79997671,.0190958],[20.89997575,.0195333],[20.99997476,.0199786],[21.09997373,.0204316],[21.19997267,.0208926],[21.29997157,.0213616],[21.39997043,.0218387],[21.49996926,.0223239],[21.59996804,.0228175],[21.69996678,.0233195],[21.79996547,.02383],[21.89996413,.024349],[21.99996274,.0248768],[22.0999613,.0254134],[22.19995981,.0259588],[22.29995827,.0265133],[22.39995668,.0270768],[22.49995504,.0276496],[22.59995335,.0282317],[22.6999516,.0288231],[22.79994979,.0294241],[22.89994793,.0300347],[22.999946,.0306551],[23.09994402,.0312852],[23.19994197,.0319253],[23.29993986,.0325755],[23.39993768,.0332358],[23.49993543,.0339064],[23.59993311,.0345873],[23.69993072,.0352788],[23.79992825,.0359808],[23.89992571,.0366935],[23.9999231,.0374171],[24.0999204,.0381515],[24.19991762,.038897],[24.29991476,.0396537],[24.39991181,.0404216],[24.49990877,.0412009],[24.59990565,.0419918],[24.69990243,.0427942],[24.79989911,.0436083],[24.8998957,.0444343],[24.99989219,.0452723],[25.09988858,.0461223],[25.19988486,.0469845],[25.29988104,.0478591],[25.3998771,.048746],[25.49987306,.0496456],[25.59986889,.0505578],[25.69986462,.0514828],[25.79986022,.0524207],[25.8998557,.0533716],[25.99985105,.0543358],[26.09984627,.0553132],[26.19984136,.056304],[26.29983632,.0573083],[26.39983114,.0583263],[26.49982581,.0593581],[26.59982035,.0604038],[26.69981473,.0614635],[26.79980897,.0625373],[26.89980304,.0636255],[26.99979697,.0647281],[27.09979073,.0658452],[27.19978432,.066977],[27.29977775,.0681235],[27.399771,.069285],[27.49976408,.0704616],[27.59975698,.0716534],[27.69974969,.0728604],[27.79974222,.074083],[27.89973455,.0753211],[27.99972669,.0765749],[28.09971863,.0778446],[28.19971037,.0791302],[28.29970189,.080432],[28.39969321,.08175],[28.4996843,.0830844],[28.59967518,.0844353],[28.69966583,.0858029],[28.79965624,.0871873],[28.89964643,.0885886],[28.99963637,.0900069],[29.09962606,.0914425],[29.19961551,.0928954],[29.29960469,.0943658],[29.39959362,.0958538],[29.49958229,.0973596],[29.59957068,.0988833],[29.69955879,.100425],[29.79954663,.1019848],[29.89953417,.103563],[29.99952142,.1051597],[30.09950838,.106775],[30.19949503,.108409],[30.29948136,.1100619],[30.39946739,.1117338],[30.49945309,.1134249],[30.59943846,.1151353],[30.69942349,.1168652],[30.79940819,.1186147],[30.89939254,.1203839],[30.99937653,.1221731],[31.09936016,.1239823],[31.19934343,.1258116],[31.29932632,.1276613],[31.39930883,.1295315],[31.49929095,.1314224],[31.59927268,.133334],[31.699254,.1352665],[31.79923492,.1372201],[31.89921542,.139195],[31.99919549,.1411912],[32.09917513,.1432089],[32.19915433,.1452483],[32.29913309,.1473096],[32.39911138,.1493928],[32.49908922,.1514981],[32.59906658,.1536257],[32.69904347,.1557758],[32.79901986,.1579484],[32.89899576,.1601438],[32.99897115,.162362],[33.09894603,.1646033],[33.19892039,.1668678],[33.29889422,.1691557],[33.3988675,.171467],[33.49884024,.173802],[33.59881241,.1761608],[33.69878402,.1785436],[33.79875505,.1809505],[33.89872549,.1833816],[33.99869534,.1858372],[34.09866458,.1883174],[34.1986332,.1908224],[34.29860119,.1933522],[34.39856855,.1959071],[34.49853526,.1984872],[34.59850131,.2010927],[34.69846669,.2037237],[34.79843139,.2063804],[34.89839541,.209063],[34.99835872,.2117716],[35.09832132,.2145063],[35.19828319,.2172674],[35.29824433,.2200549],[35.39820472,.2228691],[35.49816436,.2257101],[35.59812322,.2285781],[35.69808131,.2314732],[35.7980386,.2343955],[35.89799508,.2373454],[35.99795074,.2403228],[36.09790558,.243328],[36.19785957,.2463611],[36.2978127,.2494223],[36.39776496,.2525118],[36.49771635,.2556297],[36.59766683,.2587762],[36.69761641,.2619514],[36.79756506,.2651555],[36.89751278,.2683887],[36.99745955,.2716512],[37.09740535,.274943],[37.19735018,.2782644],[37.29729402,.2816155],[37.39723684,.2849964],[37.49717865,.2884075],[37.59711942,.2918487],[37.69705914,.2953203],[37.7969978,.2988225],[37.89693537,.3023554],[37.99687185,.3059191],[38.09680722,.3095139],[38.19674145,.3131399],[38.29667455,.3167973],[38.39660649,.3204862],[38.49653725,.3242068],[38.59646682,.3279592],[38.69639518,.3317437],[38.79632232,.3355604],[38.89624822,.3394094],[38.99617285,.343291],[39.09609622,.3472053],[39.19601829,.3511524],[39.29593905,.3551325],[39.39585848,.3591459],[39.49577657,.3631926],[39.59569329,.3672728],[39.69560863,.3713868],[39.79552257,.3755346],[39.89543509,.3797164],[39.99534618,.3839324],[40.09525581,.3881828],[40.19516397,.3924677],[40.29507063,.3967873],[40.39497577,.4011418],[40.49487939,.4055313],[40.59478145,.409956],[40.69468194,.414416],[40.79458084,.4189116],[40.89447812,.4234429],[40.99437377,.4280101],[41.09426776,.4326133],[41.19416008,.4372527],[41.29405071,.4419285],[41.39393962,.4466408],[41.49382679,.4513899],[41.5937122,.4561758],[41.69359582,.4609987],[41.79347765,.4658589],[41.89335765,.4707564],[41.9932358,.4756915],[42.09311208,.4806643],[42.19298646,.485675],[42.29285893,.4907237],[42.39272946,.4958106],[42.49259803,.5009359],[42.59246461,.5060998],[42.69232919,.5113024],[42.79219173,.5165439],[42.89205221,.5218244],[42.99191061,.5271442],[43.0917669,.5325033],[43.19162106,.537902],[43.29147307,.5433404],[43.3913229,.5488187],[43.49117052,.5543371],[43.59101591,.5598957],[43.69085904,.5654947],[43.79069989,.5711342],[43.89053844,.5768145],[43.99037464,.5825357],[44.09020849,.5882979],[44.19003995,.5941013],[44.28986899,.5999461],[44.38969559,.6058325],[44.48951972,.6117606],[44.58934136,.6177306],[44.68916047,.6237427],[44.78897703,.629797],[44.88879101,.6358936],[44.98860238,.6420328],[45.08841112,.6482148],[45.18821719,.6544396],[45.28802056,.6607075],[45.38782121,.6670185],[45.48761911,.673373],[45.58741423,.679771],[45.68720653,.6862127],[45.786996,.6926983],[45.88678259,.6992279],[45.98656628,.7058017],[46.08634704,.7124199],[46.18612483,.7190826],[46.28589963,.72579],[46.3856714,.7325423],[46.48544012,.7393396],[46.58520575,.746182],[46.68496826,.7530698],[46.78472761,.7600032],[46.88448378,.7669821],[46.98423674,.774007],[47.08398644,.7810778],[47.18373286,.7881947],[47.28347597,.795358],[47.38321572,.8025678],[47.4829521,.8098242],[47.58268506,.8171274],[47.68241457,.8244775],[47.78214059,.8318748],[47.8818631,.8393194],[47.98158205,.8468114],[48.08129742,.854351],[48.18100916,.8619384],[48.28071724,.8695737],[48.38042163,.8772571],[48.48012229,.8849887],[48.57981919,.8927687],[48.67951229,.9005973],[48.77920155,.9084745],[48.87888693,.9164007],[48.97856841,.9243758],[49.07824593,.9324002],[49.17791948,.9404739],[49.277589,.9485971],[49.37725446,.95677],[49.47691583,.9649926],[49.57657305,.9732652],[49.67622611,.981588],[49.77587496,.989961],[49.87551955,.9983845],[49.97515986,1.0068585],[50.07479583,1.0153833],[50.17442744,1.0239589],[50.27405465,1.0325856],[50.3736774,1.0412636],[50.47329568,1.0499928],[50.57290942,1.0587736],[50.6725186,1.067606],[50.77212317,1.0764902],[50.87172309,1.0854264],[50.97131832,1.0944147],[51.07090882,1.1034552],[51.17049456,1.1125482],[51.27007547,1.1216937],[51.36965154,1.1308919],[51.4692227,1.140143],[51.56878893,1.1494471],[51.66835018,1.1588043],[51.7679064,1.1682149],[51.86745755,1.1776789],[51.9670036,1.1871965],[52.06654449,1.1967678],[52.16608019,1.206393],[52.26561064,1.2160723],[52.36513582,1.2258058],[52.46465566,1.2355935],[52.56417013,1.2454358],[52.66367919,1.2553326],[52.76318278,1.2652842],[52.86268087,1.2752908],[52.9621734,1.2853523],[53.06166034,1.2954691],[53.16114164,1.3056412],[53.26061725,1.3158687],[53.36008712,1.3261519],[53.45955122,1.3364908],[53.55900949,1.3468856],[53.65846189,1.3573365],[53.75790836,1.3678435],[53.85734888,1.3784069],[53.95678338,1.3890267],[54.05621181,1.3997031],[54.15563415,1.4104362],[54.25505032,1.4212262],[54.35446029,1.4320731],[54.45386402,1.4429773],[54.55326144,1.4539387],[54.65265251,1.4649575],[54.75203719,1.4760338],[54.85141542,1.4871678],[54.95078716,1.4983597],[55.05015236,1.5096095],[55.14951096,1.5209173],[55.24886292,1.5322834],[55.34820819,1.5437078],[55.44754672,1.5551907],[55.54687845,1.5667322],[55.64620334,1.5783324],[55.74552134,1.5899915],[55.8448324,1.6017096],[55.94413646,1.6134868],[56.04343348,1.6253233],[56.1427234,1.6372192],[56.24200618,1.6491745],[56.34128175,1.6611895],[56.44055008,1.6732642],[56.5398111,1.6853989],[56.63906476,1.6975935],[56.73831102,1.7098483],[56.83754982,1.7221634],[56.93678111,1.7345388],[57.03600483,1.7469747],[57.13522094,1.7594713],[57.23442938,1.7720286],[57.33363009,1.7846468],[57.43282302,1.7973259],[57.53200813,1.8100662],[57.63118535,1.8228677],[57.73035463,1.8357306],[57.82951592,1.8486549],[57.92866916,1.8616409],[58.0278143,1.8746885],[58.12695128,1.8877979],[58.22608006,1.9009693],[58.32520057,1.9142028],[58.42431276,1.9274984],[58.52341658,1.9408563],[58.62251196,1.9542766],[58.72159886,1.9677594],[58.82067722,1.9813048],[58.91974698,1.994913],[59.01880809,2.008584],[59.11786048,2.022318],[59.21690412,2.036115],[59.31593893,2.0499752],[59.41496486,2.0638987],[59.51398186,2.0778857],[59.61298987,2.0919361],[59.71198883,2.1060501],[59.81097869,2.1202278],[59.90995938,2.1344694],[60.00893085,2.1487749],[60.10789305,2.1631444],[60.20684591,2.1775781],[60.30578938,2.192076],[60.4047234,2.2066382],[60.50364792,2.2212649],[60.60256286,2.2359562],[60.70146819,2.2507121],[60.80036383,2.2655327],[60.89924973,2.2804182],[60.99812583,2.2953687],[61.09699207,2.3103842],[61.1958484,2.3254649],[61.29469475,2.3406108],[61.39353107,2.355822],[61.4923573,2.3710987],[61.59117337,2.3864409],[61.68997923,2.4018487],[61.78877482,2.4173223],[61.88756007,2.4328617],[61.98633494,2.448467],[62.08509936,2.4641383],[62.18385327,2.4798757],[62.2825966,2.4956792],[62.38132931,2.5115491],[62.48005133,2.5274853],[62.5787626,2.543488],[62.67746305,2.5595572],[62.77615264,2.575693],[62.87483129,2.5918956],[62.97349896,2.6081649],[63.07215557,2.6245012],[63.17080106,2.6409044],[63.26943538,2.6573747],[63.36805847,2.6739121],[63.46667026,2.6905168],[63.56527069,2.7071887],[63.66385971,2.7239281],[63.76243725,2.7407349],[63.86100324,2.7576092],[63.95955763,2.7745512],[64.05810036,2.791561],[64.15663136,2.8086385],[64.25515058,2.8257838],[64.35365795,2.8429971],[64.4521534,2.8602785],[64.55063689,2.8776279],[64.64910834,2.8950455],[64.7475677,2.9125313],[64.84601489,2.9300855],[64.94444987,2.9477081],[65.04287257,2.9653991],[65.14128292,2.9831587],[65.23968087,3.0009868],[65.33806634,3.0188837],[65.43643929,3.0368493],[65.53479965,3.0548837],[65.63314734,3.072987],[65.73148232,3.0911593],[65.82980452,3.1094006],[65.92811388,3.127711],[66.02641033,3.1460905],[66.12469382,3.1645392],[66.22296427,3.1830573],[66.32122163,3.2016446],[66.41946584,3.2203014],[66.51769682,3.2390277],[66.61591453,3.2578235],[66.71411889,3.2766889],[66.81230984,3.2956239],[66.91048733,3.3146287],[67.00865128,3.3337033],[67.10680164,3.3528476],[67.20493833,3.3720619],[67.30306131,3.3913461],[67.4011705,3.4107003],[67.49926585,3.4301246],[67.59734728,3.449619],[67.69541475,3.4691836],[67.79346817,3.4888184],[67.8915075,3.5085234],[67.98953267,3.5282988],[68.08754361,3.5481446],[68.18554026,3.5680608],[68.28352256,3.5880475],[68.38149045,3.6081048],[68.47944386,3.6282326],[68.57738273,3.648431],[68.675307,3.6687001],[68.7732166,3.68904],[68.87111148,3.7094506],[68.96899156,3.7299321],[69.06685678,3.7504843],[69.16470709,3.7711076],[69.26254242,3.7918017],[69.36036271,3.8125669],[69.45816788,3.8334031],[69.55595789,3.8543103],[69.65373267,3.8752887],[69.75149215,3.8963383],[69.84923627,3.917459],[69.94696497,3.938651],[70.04467819,3.9599143],[70.14237586,3.9812489],[70.24005792,4.0026548],[70.33772431,4.0241321],[70.43537497,4.0456809],[70.53300982,4.0673011],[70.63062882,4.0889928],[70.7282319,4.1107561],[70.82581899,4.1325909],[70.92339003,4.1544973],[71.02094496,4.1764754],[71.11848372,4.1985251],[71.21600625,4.2206465],[71.31351248,4.2428396],[71.41100234,4.2651045],[71.50847579,4.2874412],[71.60593275,4.3098497],[71.70337317,4.33233],[71.80079698,4.3548822],[71.89820411,4.3775063],[71.99559452,4.4002023],[72.09296813,4.4229702],[72.19032488,4.4458102],[72.28766471,4.4687221],[72.38498757,4.491706],[72.48229338,4.514762],[72.57958209,4.5378901],[72.67685363,4.5610902],[72.77410795,4.5843624],[72.87134498,4.6077068],[72.96856465,4.6311234],[73.06576692,4.6546121],[73.16295171,4.6781729],[73.26011897,4.701806],[73.35726863,4.7255114],[73.45440064,4.7492889],[73.55151493,4.7731388],[73.64861144,4.7970609],[73.74569011,4.8210553],[73.84275088,4.845122],[73.93979369,4.869261],[74.03681848,4.8934724],[74.13382518,4.9177561],[74.23081374,4.9421122],[74.3277841,4.9665406],[74.42473619,4.9910415],[74.52166996,5.0156147],[74.61858534,5.0402604],[74.71548227,5.0649785],[74.8123607,5.089769],[74.90922057,5.1146319],[75.00606181,5.1395673],[75.10288436,5.1645752],[75.19968817,5.1896555],[75.29647317,5.2148083],[75.3932393,5.2400336],[75.48998652,5.2653313],[75.58671474,5.2907016],[75.68342393,5.3161443],[75.78011401,5.3416596],[75.87678493,5.3672473],[75.97343662,5.3929076],[76.07006904,5.4186403],[76.16668212,5.4444456],[76.26327579,5.4703235],[76.35985001,5.4962738],[76.45640471,5.5222966],[76.55293984,5.548392],[76.64945533,5.5745599],[76.74595114,5.6008003],[76.84242719,5.6271133],[76.93888343,5.6534988],[77.0353198,5.6799568],[77.13173625,5.7064873],[77.22813271,5.7330903],[77.32450913,5.7597659],[77.42086545,5.7865139],[77.51720161,5.8133345],[77.61351756,5.8402276],[77.70981323,5.8671932],[77.80608857,5.8942313],[77.90234353,5.9213418],[77.99857803,5.9485249],[78.09479204,5.9757805],[78.19098548,6.0031085],[78.2871583,6.030509],[78.38331045,6.057982],[78.47944187,6.0855274],[78.5755525,6.1131452],[78.67164228,6.1408356],[78.76771116,6.1685983],[78.86375908,6.1964335],[78.95978598,6.2243411],[79.05579181,6.2523211],[79.15177651,6.2803735],[79.24774002,6.3084982],[79.34368229,6.3366954],[79.43960327,6.3649649],[79.53550289,6.3933068],[79.63138109,6.4217211],[79.72723783,6.4502076],[79.82307305,6.4787665],[79.91888669,6.5073977],[80.0146787,6.5361012],[80.11044901,6.564877],[80.20619758,6.5937251],[80.30192434,6.6226455],[80.39762925,6.651638],[80.49331225,6.6807029],[80.58897328,6.7098399],[80.68461228,6.7390492],[80.78022921,6.7683306],[80.875824,6.7976842],[80.9713966,6.82711],[81.06694696,6.856608],[81.16247502,6.886178],[81.25798072,6.9158202],[81.35346402,6.9455345],[81.44892485,6.9753209],[81.54436316,7.0051794],[81.6397789,7.0351099],[81.73517201,7.0651125],[81.83054243,7.0951871],[81.92589012,7.1253337],[82.02121501,7.1555523],[82.11651706,7.1858429],[82.21179621,7.2162054],[82.3070524,7.2466399],[82.40228558,7.2771463],[82.49749569,7.3077246],[82.59268269,7.3383749],[82.68784651,7.3690969],[82.7829871,7.3998909],[82.87810441,7.4307567],[82.97319839,7.4616943],[83.06826897,7.4927037],[83.16331611,7.5237849],[83.25833975,7.5549379],[83.35333983,7.5861626],[83.44831631,7.617459],[83.54326913,7.6488272],[83.63819823,7.6802671],[83.73310356,7.7117786],[83.82798506,7.7433619],[83.92284269,7.7750167],[84.01767638,7.8067432],[84.11248609,7.8385413],[84.20727176,7.870411],[84.30203333,7.9023522],[84.39677076,7.934365],[84.49148398,7.9664494],[84.58617294,7.9986053],[84.68083759,8.0308326],[84.77547788,8.0631315],[84.87009375,8.0955018],[84.96468515,8.1279435],[85.05925202,8.1604567],[85.15379431,8.1930413],[85.24831196,8.2256973],[85.34280493,8.2584246],[85.43727315,8.2912233],[85.53171658,8.3240933],[85.62613516,8.3570346],[85.72052883,8.3900473],[85.81489755,8.4231312],[85.90924126,8.4562863],[86.0035599,8.4895127],[86.09785342,8.5228103],[86.19212177,8.5561792],[86.28636489,8.5896192],[86.38058274,8.6231303],[86.47477524,8.6567126],[86.56894236,8.690366],[86.66308404,8.7240906],[86.75720022,8.7578862],[86.85129085,8.7917529],[86.94535588,8.8256906],[87.03939526,8.8596994],[87.13340892,8.8937792],[87.22739681,8.9279299],[87.32135889,8.9621517],[87.41529509,8.9964444],[87.50920537,9.030808],[87.60308968,9.0652425],[87.69694795,9.099748],[87.79078014,9.1343242],[87.88458619,9.1689714],[87.97836605,9.2036894],[88.07211967,9.2384781],[88.16584699,9.2733377],[88.25954796,9.308268],[88.35322252,9.3432691],[88.44687063,9.3783409],[88.54049223,9.4134834],[88.63408726,9.4486966],[88.72765567,9.4839805],[88.82119741,9.519335],[88.91471243,9.5547601],[89.00820068,9.5902558],[89.10166208,9.6258222],[89.19509658,9.6614592],[89.28850414,9.6971667],[89.38188471,9.7329448],[89.47523825,9.7687933],[89.56856467,9.8047123],[89.66186393,9.8407019],[89.75513599,9.8767619],[89.84838079,9.9128923],[89.94159828,9.9490931],[90.0347884,9.9853643],[90.12795111,10.0217059],[90.22108634,10.0581178],[90.31419405,10.0946001],[90.40727425,10.1311524],[90.50032674,10.1677753],[90.59335155,10.2044684],[90.68634863,10.2412317],[90.77931796,10.2780652],[90.87225941,10.3149689],[90.96517299,10.3519428],[91.05805858,10.3889869],[91.15091618,10.4261012],[91.24374572,10.4632855],[91.33654715,10.5005399],[91.42932043,10.5378644],[91.5220655,10.575259],[91.6147823,10.6127236],[91.70747091,10.6502578],[91.80013103,10.6878624],[91.89276272,10.7255369],[91.98536593,10.7632813],[92.07794062,10.8010957],[92.17048672,10.83898],[92.26300429,10.8769339],[92.35549305,10.9149579],[92.44795306,10.9530518],[92.54038428,10.9912156],[92.63278665,11.0294491],[92.72516012,11.0677524],[92.81750464,11.1061254],[92.90982016,11.1445681],[93.00210662,11.1830806],[93.09436398,11.2216627],[93.18659218,11.2603144],[93.27879116,11.2990359],[93.37096087,11.3378269],[93.46310127,11.3766875],[93.55521231,11.4156176],[93.64729412,11.4546168],[93.73934626,11.493686],[93.83136886,11.5328247],[93.9233619,11.5720329],[94.01532526,11.6113106],[94.10725892,11.6506578],[94.19916284,11.6900744],[94.29103697,11.7295604],[94.38288125,11.7691158],[94.47469564,11.8087406],[94.56648003,11.8484347],[94.65823446,11.8881981],[94.74995883,11.9280307],[94.8416531,11.9679326],[94.93331721,12.0079037],[95.02495112,12.0479441],[95.11655477,12.0880536],[95.20812821,12.128232],[95.29967132,12.1684794],[95.39118383,12.2087964],[95.48266587,12.2491825],[95.57411726,12.289638],[95.66553817,12.3301623],[95.75692844,12.3707556],[95.84828804,12.4114179],[95.9396169,12.4521492],[96.03091497,12.4929495],[96.12218253,12.533818],[96.2134189,12.5747561],[96.30462432,12.615763],[96.39579875,12.6568389],[96.48694214,12.6979835],[96.57805444,12.739197],[96.66913589,12.7804785],[96.76018585,12.8218295],[96.85120455,12.8632492],[96.94219193,12.9047377],[97.03314797,12.9462949],[97.12407261,12.9879207],[97.21496579,13.0296152],[97.30582746,13.0713783],[97.39665758,13.11321],[97.48745609,13.1551102],[97.57822273,13.1970794],[97.66895779,13.2391169],[97.75966112,13.2812227],[97.85033264,13.323397],[97.94097228,13.3656398],[98.03158006,13.4079509],[98.12215634,13.4503293],[98.21270008,13.4927772],[98.30321172,13.5352936],[98.39369122,13.5778783],[98.48413857,13.6205312],[98.57455366,13.6632526],[98.6649364,13.7060423],[98.75528684,13.7489001],[98.8456049,13.7918262],[98.93589051,13.8348205],[99.02614363,13.8778829],[99.1163642,13.9210135],[99.20655218,13.9642122],[99.2967075,14.007479],[99.38683013,14.0508139],[99.47692028,14.0942161],[99.56697731,14.1376872],[99.65700146,14.1812263],[99.74699272,14.2248334],[99.83695102,14.2685084],[99.92687629,14.3122514],[100.0167685,14.3560623],[100.1066276,14.3999411],[100.1964535,14.4438877],[100.2862462,14.4879022],[100.3760057,14.5319844],[100.4657318,14.5761344],[100.5554246,14.6203521],[100.645084,14.6646376],[100.7347094,14.7089917],[100.8243015,14.7534132],[100.9138606,14.7979008],[101.0033857,14.8424571],[101.0928772,14.8870808],[101.1823352,14.9317715],[101.27176,14.9765286],[101.3611502,15.0213549],[101.4505065,15.0662487],[101.539829,15.1112097],[101.6291174,15.1562384],[101.7183718,15.2013346],[101.8075913,15.2464996],[101.8967774,15.2917307],[101.9859293,15.337029],[102.075047,15.3823946],[102.1641314,15.4278256],[102.2531805,15.4733256],[102.3421952,15.5188929],[102.4311756,15.5645271],[102.5201215,15.6102288],[102.6090328,15.6559976],[102.6979095,15.7018334],[102.7867516,15.7477364],[102.8755588,15.7937068],[102.9643315,15.8397438],[103.0530693,15.885848],[103.1417724,15.9320191],[103.2304405,15.9782571],[103.3190737,16.0245621],[103.407672,16.0709338],[103.4962353,16.1173724],[103.5847633,16.1638781],[103.6732562,16.2104507],[103.7617139,16.2570901],[103.8501364,16.3037962],[103.9385221,16.3505722],[104.0268738,16.397412],[104.1151902,16.4443184],[104.2034711,16.4912915],[104.2917181,16.5383282],[104.379928,16.5854345],[104.4681024,16.6326074],[104.5562411,16.6798468],[104.6443441,16.7271528],[104.7324115,16.7745248],[104.820443,16.8219637],[104.9084389,16.8694685],[104.996398,16.9170418],[105.0843216,16.9646804],[105.1722092,17.0123853],[105.2600608,17.0601567],[105.3478763,17.1079943],[105.4356557,17.1558982],[105.5233988,17.2038684],[105.611107,17.2519021],[105.6987776,17.3000046],[105.7864119,17.3481734],[105.8740098,17.3964083],[105.9615713,17.4447094],[106.0490962,17.4930766],[106.1365846,17.5415098],[106.2240364,17.5900092],[106.3114515,17.6385745],[106.3988305,17.6872046],[106.4861721,17.7359021],[106.573477,17.7846654],[106.660745,17.8334946],[106.7479761,17.8823897],[106.8351703,17.9313507],[106.9223276,17.9803773],[107.0094477,18.02947],[107.0965307,18.0786284],[107.1835747,18.1278564],[107.2705833,18.1771465],[107.3575547,18.2265022],[107.4444887,18.2759236],[107.5313874,18.3254066],[107.6182468,18.3749591],[107.7050687,18.4245772],[107.7918532,18.4742608],[107.8786001,18.52401],[107.9653096,18.5738243],[108.0519813,18.6237044],[108.1386152,18.67365],[108.2252114,18.7236611],[108.3117693,18.7737386],[108.3982898,18.8238805],[108.4847724,18.8740877],[108.5712171,18.9243603],[108.657623,18.9746995],[108.7439916,19.0251025],[108.8303231,19.0755693],[108.9166159,19.126102],[109.0028701,19.1767005],[109.0890861,19.2273642],[109.1752642,19.2780924],[109.2614036,19.3288862],[109.3475046,19.3797451],[109.4335672,19.4306689],[109.5195913,19.4816577],[109.6055769,19.5327115],[109.6915212,19.5838348],[109.7774295,19.6350184],[109.8633016,19.6862628],[109.9491325,19.737576],[110.0349248,19.788954],[110.1206785,19.8403961],[110.206393,19.8919037],[110.2920687,19.9434757],[110.3777053,19.9951126],[110.4633029,20.0468142],[110.5488614,20.0985804],[110.6343804,20.1504123],[110.7198606,20.2023079],[110.8053015,20.2542679],[110.8907032,20.3062925],[110.9760657,20.3583815],[111.0613887,20.4105349],[111.1466723,20.4627528],[111.2319166,20.5150349],[111.3171225,20.5673785],[111.4022878,20.6197892],[111.4874133,20.6722644],[111.5724992,20.7248036],[111.657543,20.777412],[111.7425495,20.8300799],[111.8275165,20.8828109],[111.9124393,20.935614],[111.997329,20.9884687],[112.0821801,21.041386],[112.1669871,21.0943743],[112.2517541,21.1474266],[112.336481,21.2005429],[112.4211678,21.2537232],[112.5058144,21.3069674],[112.5904204,21.360276],[112.6749865,21.413648],[112.7595123,21.4670838],[112.8439973,21.5205842],[112.9284425,21.5741473],[113.012847,21.6277743],[113.0972104,21.6814662],[113.1815338,21.7352207],[113.2658167,21.7890389],[113.3500594,21.8429192],[113.4342613,21.8968637],[113.5184225,21.9508717],[113.6025424,22.0049442],[113.6866213,22.0590802],[113.7706594,22.1132798],[113.8546566,22.1675427],[113.9386127,22.2218691],[114.0225278,22.2762589],[114.1064015,22.3307126],[114.1902343,22.3852291],[114.274026,22.4398089],[114.3577763,22.4944519],[114.4414854,22.5491582],[114.5251532,22.6039277],[114.6087796,22.6587604],[114.6923645,22.7136562],[114.7759075,22.7686159],[114.8594094,22.8236379],[114.9428702,22.8787221],[115.0262889,22.9338702],[115.1096665,22.9890804],[115.1930018,23.0443544],[115.2762898,23.0997011],[115.3595414,23.1551012],[115.442757,23.210554],[115.525925,23.2660796],[115.609051,23.321668],[115.692135,23.3773192],[115.7751769,23.4330331],[115.8581767,23.4888097],[115.9411344,23.544649],[116.0240499,23.600551],[116.1069231,23.6565156],[116.189754,23.7125427],[116.2725426,23.7686325],[116.3552889,23.8247847],[116.4379926,23.8809994],[116.520654,23.9372766],[116.6032727,23.9936162],[116.6858489,24.0500182],[116.7683825,24.1064825],[116.8508732,24.1630095],[116.9333214,24.2195985],[117.0157268,24.2762498],[117.0980895,24.3329632],[117.1804092,24.389739],[117.262686,24.4465769],[117.3449198,24.503477],[117.4271107,24.5604391],[117.5092554,24.6174697],[117.59136,24.6745561],[117.6734208,24.7317058],[117.7554386,24.7889174],[117.8374171,24.8461827],[117.9193485,24.9035175],[118.001237,24.9609135],[118.0830822,25.0183713],[118.164885,25.0758891],[118.2466425,25.1334717],[118.3283552,25.1911177],[118.4100301,25.2488159],[118.4916578,25.3065821],[118.5732426,25.3644088],[118.6547825,25.4222992],[118.7362791,25.4802502],[118.8177319,25.5382627],[118.899141,25.5963365],[118.9805061,25.654472],[119.0618273,25.7126689],[119.1431046,25.7709272],[119.2243378,25.8292469],[119.3055275,25.8876267],[119.3866666,25.9460775],[119.4677674,26.0045811],[119.5488301,26.0631373],[119.6298425,26.1217633],[119.7108106,26.1804503],[119.7917344,26.2391986],[119.8726138,26.2980079],[119.9534414,26.356891],[120.0342318,26.4158225],[120.1149852,26.474802],[120.1956859,26.5338563],[120.2763428,26.5929704],[120.3569549,26.6521455],[120.437523,26.7113804],[120.518046,26.7706763],[120.5985238,26.8300339],[120.6789568,26.8894523],[120.7593449,26.9489314],[120.839688,27.0084712],[120.9199861,27.0680717],[121.0002393,27.1277327],[121.0804473,27.1874543],[121.1606103,27.2472364],[121.2407281,27.3070791],[121.3208004,27.3669828],[121.4008277,27.4269464],[121.4808097,27.4869704],[121.5607463,27.5470547],[121.6406376,27.6071994],[121.7204732,27.6674189],[121.8002838,27.7276694],[121.8800387,27.7879948],[121.959748,27.8483803],[122.0394124,27.9088242],[122.1190304,27.96933],[122.1986031,28.0298949],[122.2781297,28.0905209],[122.3576103,28.1512071],[122.4370452,28.211953],[122.5164342,28.2727589],[122.5957774,28.3336246],[122.6750745,28.3945503],[122.7543256,28.4555358],[122.8335306,28.5165812],[122.9126885,28.577688],[122.9918012,28.6388529],[123.0708677,28.7000775],[123.149888,28.7613618],[123.228862,28.8227057],[123.3077905,28.8841077],[123.3866718,28.9455708],[123.4655062,29.007094],[123.5442945,29.0686761],[123.6230355,29.1303193],[123.7017301,29.1920213],[123.7803788,29.2537816],[123.8589808,29.3156014],[123.9375369,29.3774793],[124.0160454,29.4394178],[124.094508,29.501414],[124.1729228,29.5634711],[124.2512908,29.6255874],[124.3296118,29.6877628],[124.4078858,29.7499974],[124.4861128,29.8122911],[124.5642928,29.8746439],[124.6424256,29.9370557],[124.7205113,29.9995265],[124.798546,30.0620638],[124.8765371,30.1246528],[124.9544809,30.1873006],[125.0323773,30.2500074],[125.1102264,30.3127728],[125.1880179,30.375609],[125.2657722,30.4384919],[125.3434935,30.5014127],[125.4211528,30.564413],[125.4987644,30.6274718],[125.5763284,30.6905893],[125.6538446,30.7537654],[125.7313125,30.8170009],[125.8087332,30.880294],[125.8860971,30.9436613],[125.963422,31.007072],[126.0406989,31.0705407],[126.1179374,31.1340515],[126.1951186,31.1976366],[126.2722517,31.2612801],[126.3493367,31.3249818],[126.4263736,31.3887416],[126.5033623,31.4525596],[126.5803029,31.5164359],[126.657195,31.5803704],[126.7340388,31.644363],[126.8108343,31.7084136],[126.8875814,31.7725222],[126.9642801,31.8366887],[127.0409302,31.9009131],[127.1175319,31.9651955],[127.194085,32.0295356],[127.2705913,32.0939294],[127.3470471,32.158385],[127.4234543,32.2228984],[127.4998127,32.2874694],[127.5761224,32.3520981],[127.6523832,32.4167845],[127.7285951,32.4815284],[127.8047581,32.5463299],[127.8808719,32.611189],[127.956937,32.6761055],[128.032953,32.7410793],[128.1089199,32.8061106],[128.1848376,32.8711993],[128.2607062,32.9363453],[128.3365255,33.0015486],[128.4122943,33.066811],[128.488015,33.1321287],[128.5636865,33.1975036],[128.6393085,33.2629356],[128.7148822,33.328423],[128.7904053,33.3939692],[128.8658789,33.45957243],[128.9413016,33.52523468],[129.0166755,33.59095242],[129.0920003,33.65672635],[129.1672758,33.72255677],[129.2425,33.78844583],[129.3176769,33.85438812],[129.3928026,33.92038942],[129.4678785,33.98644745],[129.5429053,34.05256105],[129.6178812,34.11873251],[129.6928071,34.18496053],[129.7676831,34.2512451],[129.8425089,34.31758616],[129.9172847,34.38398376],[129.9919913,34.45046471],[130.0666804,34.51695404],[130.1413055,34.58352084],[130.2158851,34.65013897],[130.2904096,34.71681849],[130.3648837,34.78355425],[130.4393073,34.85034621],[130.5136805,34.91719432],[130.5880032,34.9840986],[130.6622754,35.05105898],[130.7364969,35.1180754],[130.8106679,35.18514783],[130.8847882,35.25227622],[130.9588581,35.31945945],[131.0328764,35.38670062],[131.1068443,35.45399693],[131.1807614,35.52134907],[131.2546131,35.58877329],[131.3284422,35.65622148],[131.4022066,35.72374079],[131.4759206,35.791315],[131.549584,35.85894381],[131.6231951,35.92663009],[131.6967552,35.99437192],[131.7702641,36.0621693],[131.8437217,36.13002213],[131.9171281,36.19793048],[131.9904832,36.26589414],[132.0637869,36.33391315],[132.1370393,36.40198751],[132.2102403,36.4701171],[132.2833898,36.53830192],[132.3564878,36.60654191],[132.4295343,36.67483704],[132.5025292,36.74318728],[132.5754733,36.81159053],[132.6483649,36.88005087],[132.7212048,36.94856622],[132.7939928,37.01713663],[132.8667292,37.08576182],[132.9394137,37.15444201],[133.0120463,37.22317699],[133.084627,37.29196682],[133.1571557,37.36081136],[133.2296323,37.42971076],[133.3020461,37.49868364],[133.3744185,37.56769247],[133.446739,37.63675582],[133.5189937,37.70588213],[133.5912099,37.77505437],[133.6633987,37.84425311],[133.7355057,37.91354346],[133.8075648,37.98287944],[133.8795715,38.05226976],[133.9515258,38.12171438],[134.0234263,38.19121502],[134.0952809,38.26075769],[134.1670779,38.33036473],[134.2388224,38.40002593],[134.3105153,38.46973972],[134.3821541,38.53950964],[134.4537389,38.60933554],[134.5252729,38.67921279],[134.5967538,38.74914433],[134.6681819,38.81912979],[134.7395585,38.8891671],[134.8108797,38.95926164],[134.8821491,39.02940869],[134.9533647,39.09961111],[135.0245289,39.16986469],[135.0956391,39.24017309],[135.1666963,39.31053513],[135.2377001,39.3809509],[135.3086509,39.45142015],[135.3795485,39.52194294],[135.4503927,39.59251934],[135.5211845,39.66314745],[135.5919221,39.73383065],[135.6626063,39.80456724],[135.7332371,39.87535717],[135.8038144,39.94620041],[135.8743382,40.01709692],[135.9448085,40.08804666],[136.0152017,40.159083],[136.0855645,40.23013924],[136.1558974,40.30121492],[136.226153,40.37237721],[136.2963549,40.44359257],[136.3665014,40.51486332],[136.4365956,40.58618469],[136.5066359,40.65755895],[136.5766223,40.72898609],[136.6465541,40.80046668],[136.716434,40.87199711],[136.7862583,40.94358261],[136.8560292,41.01522029],[136.9257453,41.08691132],[136.9954072,41.15865492],[137.0649796,41.23049095],[137.1345677,41.30230173],[137.2040668,41.37420332],[137.2735116,41.44615733],[137.3429021,41.51816376],[137.4122382,41.59022257],[137.4815198,41.66233372],[137.550747,41.73449716],[137.6199196,41.80671285],[137.6890377,41.87898076],[137.7581012,41.95130084],[137.8271123,42.0236681],[137.8960665,42.09609231],[137.9649661,42.16856856],[138.0338109,42.24109683],[138.102601,42.31367701],[138.1713361,42.38630924],[138.2400164,42.4589934],[138.3086417,42.53172935],[138.3772122,42.60451709],[138.4457277,42.67735664],[138.514188,42.75024804],[138.5825933,42.82319102],[138.6509435,42.89618566],[138.7192386,42.9692319],[138.7874784,43.04232988],[138.855663,43.11547939],[138.9237924,43.18868028],[138.9918664,43.26193261],[139.0598852,43.33523636],[139.1278486,43.40859144],[139.1957565,43.48199791],[139.2636089,43.55545568],[139.3314057,43.62896491],[139.3991471,43.70252514],[139.4668329,43.77613654],[139.5344632,43.84979903],[139.6020365,43.92351411],[139.6695553,43.99727878],[139.7370185,44.07109444],[139.804427,44.14495969],[139.8717784,44.2188773],[139.9390728,44.29284803],[140.0063125,44.36686737],[140.0734947,44.44093967],[140.1406226,44.51508185],[140.2076935,44.58925304],[140.2747094,44.66347475],[140.3416707,44.73774703],[140.4085763,44.81206992],[140.4754238,44.8864432],[140.542215,44.96086822],[140.6089501,45.03534398],[140.6756285,45.10986868],[140.742251,45.18444365],[140.8088171,45.25906899],[140.8753269,45.33374535],[140.9417803,45.4084696],[141.0081772,45.48324432],[141.0745176,45.55807038],[141.1408016,45.63294809],[141.2070289,45.70787422],[141.2731997,45.78285029],[141.3393137,45.85787633],[141.4053711,45.93295083],[141.4713718,46.00807584],[141.5373163,46.08325168],[141.6032034,46.15847818],[141.6690334,46.23375326],[141.7348068,46.30907815],[141.8004775,46.38448646],[141.8661351,46.45987628],[141.9317835,46.53535003],[141.9973289,46.61087329],[142.0628174,46.68644744],[142.1282488,46.76206954],[142.1936116,46.83774053],[142.2589284,46.91346138],[142.324188,46.98923034],[142.3894041,47.06504982],[142.4545494,47.14091791],[142.5196374,47.21683585],[142.584668,47.2928029],[142.6496413,47.36884315],[142.7145571,47.44490845],[142.7794155,47.52101094],[142.8442164,47.59717423],[142.9089596,47.67338641],[142.9736454,47.7496345],[143.0382735,47.82594423],[143.102844,47.90230281],[143.1673568,47.97871008],[143.2318123,48.05516602],[143.2962096,48.13167151],[143.3605206,48.20822619],[143.4248021,48.28482822],[143.4890542,48.36147862],[143.5532201,48.43817648],[143.6173279,48.51492384],[143.6813779,48.59171957],[143.7453697,48.66856394],[143.8093036,48.74545541],[143.8731794,48.82240106],[143.936997,48.89938253],[144.0007565,48.97641945],[144.0644578,49.05350445],[144.128101,49.13063757],[144.1916805,49.2078187],[144.2552069,49.28504785],[144.3186749,49.36232491],[144.3820845,49.43966419],[144.4454357,49.51702281],[144.5087344,49.59444348],[144.5719688,49.67191191],[144.6351448,49.74942807],[144.6982621,49.8269919],[144.7613219,49.90460337],[144.824322,49.98226243],[144.8872624,50.05996978],[144.9501453,50.13772386],[145.0129694,50.21552973],[145.0757012,50.29337893],[145.1384417,50.37127539],[145.2010877,50.44921929],[145.2636768,50.52721047],[145.3262058,50.6052489],[145.3886767,50.68332883],[145.4510887,50.76146149],[145.5134416,50.83970429],[145.5757355,50.91790684],[145.6379704,50.996142],[145.7001462,51.07446284],[145.7622643,51.15283217],[145.8243216,51.2312481],[145.8863198,51.30970967],[145.9482597,51.38821793],[146.0101391,51.46677467],[146.0719594,51.54537484],[146.1337201,51.62402315],[146.1954215,51.702719],[146.2570635,51.78145935],[146.318646,51.86024598],[146.3801691,51.93908066],[146.4416325,52.01796188],[146.5030365,52.09688962],[146.5643807,52.17586342],[146.6256652,52.2548851],[146.6868901,52.33395099],[146.7480552,52.41306355],[146.8091607,52.49222176],[146.8702065,52.57142536],[146.9311923,52.65067641],[146.9921184,52.7299735],[147.0529846,52.80931653],[147.1137907,52.8887055],[147.1745369,52.96817435],[147.2352232,53.04762129],[147.2957902,53.12714785],[147.3564135,53.20672016],[147.4169196,53.2863382],[147.4773656,53.36602878],[147.5377514,53.44573816],[147.5980787,53.52546734],[147.6583439,53.60526595],[147.7184917,53.68511186],[147.7786937,53.7650032],[147.838778,53.84493996],[147.898802,53.92492198],[147.9587655,54.00494941],[148.0186686,54.0850348],[148.0785113,54.16515306],[148.1382935,54.24531625],[148.1980151,54.32551212],[148.2576761,54.40576472],[148.3172765,54.48606312],[148.3768163,54.56640652],[148.4362954,54.64682321],[148.4957137,54.72725556],[148.5550713,54.80773275],[148.6143681,54.88825473],[148.673604,54.96882142],[148.7327792,55.0494328],[148.7918934,55.1300888],[148.8509467,55.21078939],[148.9099391,55.29153453],[148.9688704,55.37232424],[149.0277408,55.4531583],[149.0865502,55.53403676],[149.1452976,55.61496157],[149.2039846,55.695929],[149.2626105,55.77694069],[149.321175,55.85799686],[149.3796783,55.9390971],[149.4381205,56.02024129],[149.4965015,56.10142955],[149.5548213,56.1826618],[149.6130796,56.26393812],[149.6712758,56.34525903],[149.7294113,56.42662311],[149.7874879,56.5080254],[149.8455009,56.58947673],[149.903452,56.67097217],[149.9613416,56.75251135],[150.0191695,56.83409421],[150.0769359,56.91572071],[150.1346405,56.99739087],[150.192282,57.07910726],[150.2498632,57.16086446],[150.3073826,57.24266517],[150.3648403,57.32450928],[150.4222361,57.40639673],[150.4795677,57.48833088],[150.5368399,57.57030483],[150.5940516,57.65231936],[150.6511158,57.73444975],[150.7082849,57.81648462],[150.7653113,57.8986282],[150.8222735,57.98081782],[150.8791748,58.0630493],[150.9360128,58.14532496],[150.9927886,58.22764353],[151.0495023,58.31000496],[151.1061537,58.3924092],[151.1627429,58.47485622],[151.2192699,58.55734585],[151.2757345,58.6398783],[151.3321367,58.72245339],[151.3884766,58.80507106],[151.444754,58.8877314],[151.500969,58.9704341],[151.5571215,59.05317913],[151.6132115,59.13596669],[151.669239,59.21879659],[151.7252039,59.30166879],[151.7811062,59.38458325],[151.8369459,59.46753992],[151.8926891,59.55058688],[151.9484032,59.63362803],[152.0040546,59.7167112],[152.0596775,59.79978773],[152.1152035,59.88295473],[152.1706667,59.96616367],[152.226067,60.0494145],[152.281389,60.1327337],[152.3366633,60.21606848],[152.3918743,60.29944522],[152.4470226,60.38286348],[152.5021241,60.46629566],[152.5571461,60.54979781],[152.6121034,60.63334297],[152.6669998,60.71692713],[152.721833,60.80055272],[152.7766048,60.88421761],[152.8313116,60.96792607],[152.8859551,61.05167583],[152.9405355,61.1354668],[152.9950525,61.21929895],[153.0495061,61.3031724],[153.1038964,61.38715506],[153.158223,61.47110946],[153.2124864,61.55510715],[153.2666863,61.63914524],[153.3208235,61.72321099],[153.3748964,61.80733054],[153.4289058,61.89149112],[153.4828516,61.9756922],[153.5367338,62.05993429],[153.5905523,62.14421712],[153.6443072,62.22854045],[153.6979983,62.31290438],[153.7516258,62.39730879],[153.8051892,62.48175385],[153.8586892,62.56623918],[153.9121253,62.65076483],[153.9654976,62.73537726],[154.0188061,62.8199373],[154.0720505,62.90458391],[154.1252309,62.98927071],[154.1783474,63.07399781],[154.2313999,63.15876485],[154.2843883,63.24357191],[154.3373126,63.32841896],[154.3901729,63.41330595],[154.442969,63.49823283],[154.4957009,63.58319956],[154.5483686,63.66820608],[154.6009722,63.75325235],[154.6534421,63.83833832],[154.7059865,63.92346398],[154.7583972,64.0086292],[154.8107436,64.09383835],[154.8630256,64.17908281],[154.9152432,64.26436619],[154.9673964,64.34968943],[155.0194852,64.43511234],[155.0713985,64.52045401],[155.1234671,64.60589006],[155.1753625,64.69137038],[155.2271928,64.77688986],[155.2789583,64.86244846],[155.3306597,64.94804611],[155.3822984,65.03368278],[155.4338708,65.11935847],[155.485378,65.20507309],[155.5368205,65.29082658],[155.5881982,65.3766189],[155.6395087,65.46244998],[155.6907568,65.54831972],[155.741934,65.63422821],[155.7930522,65.72017566],[155.8441075,65.80616145],[155.8950957,65.89218933],[155.946019,65.97825395],[155.9968773,66.06435507],[156.0476775,66.15049455],[156.0984058,66.23667232],[156.1490687,66.32289056],[156.1996667,66.40914171],[156.2501996,66.49543423],[156.3006673,66.58176368],[156.3510698,66.66813091],[156.4014072,66.75453924],[156.4516791,66.84098314],[156.5018858,66.92746585],[156.5520271,67.01398608],[156.6021029,67.10054324],[156.6521141,67.18713954],[156.7020593,67.27377201],[156.751939,67.36044472],[156.8017523,67.44715399],[156.851501,67.53390048],[156.9011841,67.62068406],[156.9508016,67.70750619],[157.0003535,67.79436619],[157.0498399,67.88126297],[157.0992606,67.96819709],[157.1486156,68.05516826],[157.197905,68.142177],[157.2471286,68.2292229],[157.2962865,68.31633305],[157.3453797,68.40345324],[157.3944043,68.49058324],[157.4433648,68.57777744],[157.4922595,68.66500853],[157.5410896,68.75227659],[157.5898523,68.8395815],[157.6385491,68.9269232],[157.6871799,69.01430165],[157.7357447,69.10171668],[157.7842438,69.1891685],[157.8326764,69.27665666],[157.8810344,69.3641939],[157.9293353,69.45175552],[157.9775702,69.53935357],[158.0257462,69.62697539],[158.0738487,69.71464607],[158.1218851,69.80235299],[158.1698555,69.89009605],[158.2177592,69.97787549],[158.2655967,70.06569109],[158.3133677,70.15354293],[158.3609469,70.24154804],[158.4087109,70.3293544],[158.4562828,70.41731416],[158.5037883,70.50530981],[158.5512274,70.59334131],[158.5985998,70.68140868],[158.6459061,70.76951159],[158.6931456,70.85765035],[158.7403185,70.94582476],[158.7874247,71.03403476],[158.8344624,71.1222843],[158.8814353,71.21056579],[158.9283415,71.29888243],[158.9751811,71.38723446],[159.0219539,71.47562181],[159.06866,71.56404444],[159.1152992,71.6525023],[159.1618742,71.74099039],[159.2083797,71.82951876],[159.2548186,71.91808198],[159.3011905,72.00668022],[159.3474955,72.09531345],[159.3937336,72.18398161],[159.4399052,72.27268349],[159.4860094,72.36142134],[159.5320464,72.45019408],[159.578017,72.53900118],[159.6239204,72.62784293],[159.6697562,72.71671976],[159.7155249,72.80563107],[159.7612264,72.89457684],[159.8068606,72.98355733],[159.8524275,73.07257282],[159.8979274,73.16162201],[159.9433603,73.25070512],[159.9887257,73.33982289],[160.0340238,73.42897494],[160.0792545,73.51816117],[160.1244179,73.60738153],[160.1695139,73.69663596],[160.214542,73.7859255],[160.2595031,73.87524796],[160.3043295,73.96464016],[160.3492233,74.0539938],[160.393982,74.1434178],[160.4386721,74.23287725],[160.4832956,74.32236885],[160.5278515,74.41189412],[160.5723391,74.50145374],[160.6167598,74.59104616],[160.6611128,74.6806721],[160.7053975,74.77033209],[160.7496149,74.86002508],[160.7937659,74.94974958],[160.8378466,75.03951068],[160.881861,75.12930335],[160.9258069,75.21912953],[160.9696856,75.30898856],[161.0134983,75.39887897],[161.0572417,75.48880343],[161.1009174,75.57876086],[161.1445243,75.66875219],[161.1880633,75.75877642],[161.2315342,75.8488335],[161.2749374,75.93892266],[161.3182722,76.02904531],[161.361539,76.11920066],[161.4047378,76.2093886],[161.4478683,76.29960921],[161.4909313,76.38986207],[161.5339255,76.48014773],[161.5768515,76.57046585],[161.6197093,76.66081643],[161.6624988,76.75119929],[161.7051265,76.84166436],[161.7478731,76.93206184],[161.7904389,77.02256829],[161.832955,77.11308031],[161.8753126,77.20369923],[161.9178015,77.29417286],[161.9601127,77.38478071],[162.0023555,77.4754204],[162.0445232,77.56610335],[162.0866274,77.65681008],[162.1286647,77.74754518],[162.1706402,77.83830051],[162.2125404,77.92909914],[162.254372,78.01992938],[162.2961347,78.11079128],[162.3378291,78.20168458],[162.3794565,78.29260567],[162.4210139,78.38356164],[162.4625024,78.474549],[162.5039223,78.5655672],[162.5452731,78.65661725],[162.5865554,78.74769806],[162.6277231,78.83886178],[162.6689131,78.92995401],[162.7099887,79.02112855],[162.7509955,79.1123341],[162.7919343,79.20357011],[162.8328031,79.29483775],[162.8736039,79.38613566],[162.9143351,79.4774646],[162.9549972,79.56882437],[162.9955902,79.6602149],[163.0361139,79.75163659],[163.0765689,79.84308828],[163.1169548,79.9345705],[163.1572712,80.02608338],[163.1975187,80.11762663],[163.2376971,80.20920021],[163.2778065,80.30080399],[163.3178467,80.39243802],[163.357818,80.48410153],[163.3977198,80.57579589],[163.4375523,80.66752036],[163.4771974,80.75933737],[163.5170097,80.85105889],[163.5566343,80.94287335],[163.5961896,81.0347177],[163.6356762,81.12659149],[163.6750927,81.2184955],[163.714441,81.31042868],[163.7537187,81.40239209],[163.7929269,81.49438513],[163.8320653,81.58640803],[163.8711345,81.6784602],[163.910134,81.77054199],[163.9490641,81.86265308],[163.9879245,81.95479366],[164.0267154,82.04696347],[164.0654367,82.13916252],[164.1040884,82.23139078],[164.1426704,82.32364818],[164.1811834,82.41593354],[164.219626,82.50824913],[164.2579989,82.60059372],[164.2963021,82.69296725],[164.3345346,82.78537113],[164.3726979,82.8778026],[164.4107918,82.97026262],[164.4488153,83.0627515],[164.4867695,83.15526891],[164.5246525,83.24781751],[164.5624665,83.34039275],[164.6002116,83.43299475],[164.6378859,83.5256266],[164.6754891,83.61828869],[164.7130235,83.71097728],[164.7504878,83.80367411],[164.7878832,83.89641724],[164.8252077,83.98918858],[164.8624631,84.08198806],[164.8996475,84.17481563],[164.9367608,84.26767152],[164.9738051,84.36055494],[165.010779,84.45346647],[165.0476846,84.5464058],[165.0845191,84.63937594],[165.1212836,84.732371],[165.1579767,84.82539211],[165.1945994,84.9184427],[165.2311518,85.01152091],[165.2676341,85.10462669],[165.304046,85.19776],[165.3402895,85.29091705],[165.3766585,85.38410534],[165.4128591,85.47732101],[165.4489895,85.57056409],[165.4850435,85.66383435],[165.52089,85.75713183],[165.5569519,85.85045648],[165.5928004,85.94380822],[165.6285845,86.03718706],[165.6642923,86.1305929],[165.6999292,86.2240257],[165.7354956,86.31748539],[165.770973,86.41097203],[165.8063984,86.50448536],[165.8417529,86.5980258],[165.8769045,86.69173],[165.9122684,86.78518593],[165.947411,86.8788059],[165.9824828,86.97245238],[166.0174847,87.06612534],[166.0524151,87.1598241],[166.0872734,87.25354989],[166.122062,87.34730186],[166.1567798,87.44108026],[166.1914267,87.53488487],[166.2260026,87.62871564],[166.2605315,87.72257265],[166.2949667,87.81645546],[166.3293307,87.91036446],[166.3636239,88.0042994],[166.3978461,88.09826024],[166.4319973,88.1922469],[166.4660774,88.2862594],[166.5000866,88.38029763],[166.5340246,88.47436162],[166.5678917,88.56845118],[166.6016877,88.66256632],[166.6354126,88.75670698],[166.6690664,88.85087311],[166.702649,88.94506466],[166.7361606,89.03938916],[166.7696009,89.13363241],[166.8029701,89.22790099],[166.8362681,89.32219519],[166.8694948,89.41651427],[166.9026504,89.51085811],[166.9357347,89.60522622],[166.9687406,89.69962001],[167.0016809,89.7940387],[167.0345503,89.8884831],[167.0673491,89.98295106],[167.1000754,90.07744418],[167.1327314,90.17196254],[167.1653178,90.26650329],[167.1978392,90.36107031],[167.2302811,90.45566184],[167.2626516,90.55027784],[167.2949506,90.64491773],[167.3271782,90.7395825],[167.3593356,90.83427092],[167.3914202,90.92898482],[167.4234332,91.02372236],[167.4553747,91.11848227],[167.4872482,91.213268],[167.5190465,91.30807895],[167.5507733,91.40291272],[167.5824284,91.49777032],[167.6140119,91.59265159],[167.6455244,91.68755658],[167.6769644,91.78248577],[167.7083328,91.87743868],[167.7393758,91.97241404],[167.7708531,92.06741443],[167.8020062,92.16243813],[167.8330841,92.2574869],[167.8640936,92.35255766],[167.8950313,92.44765206],[167.9258959,92.54276953],[167.95669,92.63791026],[167.9874122,92.73307411],[168.0180603,92.82826122],[168.048639,92.92346965],[168.0791494,93.01870458],[168.1095854,93.11397013],[168.1399481,93.20924946],[168.1702413,93.30455166],[168.20046,93.39987668],[168.2306067,93.49521568],[168.2606815,93.5905847],[168.2906843,93.68597831],[168.3206149,93.78139408],[168.3504733,93.8768301],[168.3802597,93.97229078],[168.4099737,94.06777412],[168.4396157,94.16328154],[168.4691857,94.25880958],[168.4986835,94.35435952],[168.5281086,94.44993332],[168.557462,94.54552984],[168.5867433,94.64114521],[168.6159523,94.73687059],[168.645089,94.83244416],[168.6741536,94.92812783],[168.7031427,95.02383142],[168.7320627,95.11955828],[168.7609105,95.21530695],[168.7896859,95.31107737],[168.818389,95.40686965],[168.8470197,95.50268344],[168.8755808,95.5985188],[168.904067,95.69437552],[168.9324804,95.79025317],[168.9608223,95.88615278],[168.9890908,95.98207403],[169.0172869,96.0780408],[169.0454111,96.17400468],[169.0734622,96.2699654],[169.1014407,96.36597157],[169.1293467,96.46200016],[169.1571802,96.55804849],[169.1849406,96.65411782],[169.2126232,96.75021107],[169.2402388,96.84632215],[169.2677818,96.94245421],[169.2952522,97.03860703],[169.3226499,97.13478055],[169.3498781,97.23097473],[169.3771308,97.32718793],[169.4044074,97.42342325],[169.4315211,97.51967596],[169.4585556,97.61595133],[169.4855174,97.71224797],[169.5124065,97.80856493],[169.5392228,97.90490217],[169.5659663,98.00125983],[169.5925907,98.09763762],[169.6191885,98.19403533],[169.64576,98.29045308],[169.6722124,98.38689082],[169.698592,98.4833485],[169.7248987,98.5798256],[169.7511335,98.676323],[169.7772943,98.77284038],[169.8033837,98.86937659],[169.8293987,98.9659332],[169.8553383,99.06256186],[169.8812073,99.15910817],[169.9070032,99.255724],[169.9327276,99.3523588],[169.9583776,99.44912032],[169.9839545,99.54569345],[170.0094585,99.64238642],[170.0348894,99.73909848],[170.0602472,99.83582231],[170.085532,99.93257279],[170.1107438,100.0293423],[170.1358824,100.1261309],[170.160948,100.222938],[170.1859404,100.3197641],[170.21084,100.4166089],[170.2356911,100.5134691],[170.2604649,100.6103518],[170.2851656,100.7072532],[170.3097931,100.8041732],[170.3343474,100.9011117],[170.3588285,100.9980688],[170.3832315,101.0950461],[170.407566,101.1920401],[170.4318273,101.2890524],[170.4560153,101.386083],[170.4801308,101.4831316],[170.5041721,101.5801988],[170.5281402,101.6772839],[170.552035,101.7743873],[170.5758622,101.8715066],[170.5996104,101.9686458],[170.6232852,102.0658028],[170.6468871,102.1629766],[170.6704142,102.2601707],[170.6938689,102.3573812],[170.71725,102.4546096],[170.7405576,102.5518555],[170.7637921,102.6491189],[170.7869531,102.7463997],[170.8100416,102.8436966],[170.8330564,102.9410119],[170.8559968,103.038345],[170.8788637,103.1356955],[170.9016573,103.2330631],[170.9243767,103.3304481],[170.9470223,103.4278502],[170.969595,103.5252693],[170.9920941,103.6227054],[171.0145196,103.7201585],[171.0368715,103.8176285],[171.0591476,103.9151193],[171.0813504,104.0126267],[171.1034814,104.1101473],[171.1255387,104.2076845],[171.1475211,104.3052399],[171.1694335,104.4028062],[171.1912696,104.5003936],[171.2130323,104.5979968],[171.2347234,104.6956121],[171.2563395,104.793247],[171.2778814,104.890899],[171.2993499,104.9885674],[171.3207439,105.0862521],[171.342064,105.183953],[171.3633103,105.28167],[171.3843734,105.3794945],[171.4055641,105.4771761],[171.426589,105.5749409],[171.4475543,105.6727008],[171.4684318,105.7704968],[171.4892373,105.8683067],[171.5099667,105.9661346],[171.5306223,106.0639781],[171.5512041,106.1618373],[171.5717111,106.2597133],[171.592146,106.3576028],[171.6125061,106.4555082],[171.6327919,106.5534295],[171.652973,106.6513723],[171.6731427,106.7493159],[171.6932017,106.8472844],[171.7131888,106.9452671],[171.7331046,107.0432641],[171.7529465,107.141276],[171.7727134,107.2393043],[171.7924072,107.3373461],[171.8120287,107.4354024],[171.8315744,107.5334738],[171.851047,107.6315585],[171.8704515,107.7296569],[171.8896891,107.8277895],[171.9090251,107.9259014],[171.9282006,108.0240459],[171.9472975,108.1222056],[171.9663247,108.2203789],[171.985069,108.3186778],[172.004157,108.4167677],[172.0229661,108.5149819],[172.0416967,108.6132122],[172.0603579,108.7114555],[172.0789402,108.8097139],[172.0974483,108.9079863],[172.115882,109.0062729],[172.1342417,109.1045731],[172.1525272,109.2028872],[172.1707371,109.3012155],[172.1888731,109.3995574],[172.2069359,109.4979125],[172.2249219,109.5962853],[172.2428355,109.6946684],[172.2606753,109.7930644],[172.2784407,109.8914737],[172.2961318,109.9898965],[172.313751,110.0883285],[172.3312489,110.186828],[172.3485702,110.285321],[172.366155,110.3837166],[172.3834744,110.4822054],[172.4007128,110.5807086],[172.4178829,110.679224],[172.434979,110.7777519],[172.4520007,110.8762925],[172.4689491,110.9748457],[172.4858221,111.0734117],[172.5026287,111.1719886],[172.5193527,111.2705803],[172.5360031,111.3691835],[172.5525781,111.4678004],[172.5690787,111.5664297],[172.5855048,111.6650714],[172.6018564,111.7637255],[172.6181331,111.862393],[172.6343357,111.9610717],[172.6504637,112.0597627],[172.6665172,112.1584659],[172.6824961,112.2571811],[172.6984005,112.3559084],[172.7142303,112.4546476],[172.7299856,112.5533988],[172.7456663,112.6521618],[172.7612724,112.7509366],[172.7768047,112.8497229],[172.7922616,112.9485212],[172.8076438,113.0473311],[172.8229514,113.1461526],[172.8381844,113.2449856],[172.8533439,113.3438273],[172.8684274,113.4426832],[172.8834365,113.5415505],[172.8983709,113.6404288],[172.9132306,113.7393186],[172.9280153,113.83822],[172.9427257,113.9371321],[172.9571433,114.0361162],[172.9719024,114.1350102],[172.9863849,114.2339618],[173.0007972,114.3329023],[173.0151337,114.4318693],[173.0293956,114.5308471],[173.0435825,114.6298349],[173.057691,114.7288399],[173.0717284,114.82785],[173.085702,114.9268683],[173.0996009,115.0258909],[173.1134183,115.1249252],[173.1271568,115.223977],[173.1408206,115.3230391],[173.1544095,115.4221115],[173.167925,115.5211937],[173.1813643,115.6202865],[173.1947293,115.7193894],[173.2080188,115.8185024],[173.2212336,115.9176253],[173.2343735,116.0167583],[173.2474385,116.1159011],[173.2604272,116.2150546],[173.2733415,116.314218],[173.2861807,116.4133916],[173.2989478,116.5125725],[173.3116383,116.6117639],[173.3242531,116.710965],[173.3367958,116.8101739],[173.349261,116.9093947],[173.3616518,117.0086241],[173.3738563,117.1079557],[173.3862078,117.2071114],[173.3983728,117.3063687],[173.4104639,117.4056349],[173.4224803,117.5049103],[173.4344216,117.6041947],[173.4462876,117.7034882],[173.4580819,117.8027898],[173.4697981,117.902101],[173.4814393,118.001421],[173.4930056,118.1007497],[173.5044974,118.2000857],[173.5159163,118.2994304],[173.527258,118.3987842],[173.5385242,118.4981475],[173.54949,118.5976386],[173.5608318,118.6968984],[173.5718728,118.7962869],[173.5828388,118.8956837],[173.5937297,118.9950887],[173.6045455,119.094502],[173.6152863,119.1939234],[173.625952,119.2933528],[173.6365426,119.3927903],[173.6470447,119.4922385],[173.657485,119.5916919],[173.6678502,119.6911531],[173.6781403,119.7906221],[173.6883551,119.8900993],[173.698495,119.9895837],[173.7085738,120.089073],[173.7185635,120.1885727],[173.728478,120.2880798],[173.7383174,120.3875945],[173.7480816,120.4871165],[173.7577694,120.5866462],[173.7673832,120.6861829],[173.7769219,120.7857269],[173.7863854,120.885278],[173.7957737,120.9848362],[173.8050866,121.0844017],[173.8143229,121.1839744],[173.8234761,121.2835672],[173.8325637,121.3831534],[173.8415442,121.4827794],[173.8504808,121.5823799],[173.8593841,121.6819398],[173.8681708,121.7815529],[173.8768842,121.8811715],[173.8855204,121.9807978],[173.8940814,122.0804306],[173.9025671,122.1800698],[173.9109789,122.2797151],[173.9193146,122.3793663],[173.9275745,122.4790245],[173.9357592,122.5786889],[173.9438554,122.6783718],[173.9518889,122.7780492],[173.9598475,122.8777321],[173.9677307,122.9774211],[173.9755388,123.0771158],[173.9832774,123.1768064],[173.9909341,123.276514],[173.9985163,123.3762261],[174.0060237,123.4759434],[174.0134554,123.5756668],[174.0208209,123.6753928],[174.0281021,123.7751273],[174.0353087,123.8748663],[174.0424392,123.9746118],[174.0494943,124.0743626],[174.0564752,124.1741182],[174.0633797,124.2738795],[174.0702081,124.3736464],[174.0769618,124.4734182],[174.0836402,124.573195],[174.0902431,124.6729769],[174.0967708,124.7727637],[174.1032231,124.8725554],[174.1096,124.9723519],[174.1159015,125.0721533],[174.1221276,125.1719594],[174.1282784,125.2717702],[174.1343535,125.371586],[174.1403522,125.4714064],[174.1462768,125.5712309],[174.152126,125.6710598],[174.1578998,125.7708931],[174.1635983,125.8707307],[174.1692052,125.9705759],[174.1747526,126.0704219],[174.1802247,126.1702722],[174.1856215,126.2701266],[174.190937,126.3699933],[174.1961808,126.4698564],[174.2013683,126.5697194],[174.2064705,126.6695809],[174.2114903,126.769455],[174.2164348,126.8693327],[174.2213015,126.9692163],[174.2260949,127.0691015],[174.2308146,127.1689896],[174.2354572,127.268882],[174.2400236,127.3687779],[174.2445163,127.4686761],[174.2489341,127.5685785],[174.2532749,127.6684845],[174.2575402,127.7683938],[174.26173,127.8683063],[174.2658444,127.9682219],[174.2698821,128.0681458],[174.2738455,128.1680676],[174.2777341,128.2679923],[174.2815447,128.3679206],[174.2852817,128.4678511],[174.2889419,128.5677863],[174.2925322,128.6677204],[174.2960414,128.7676614],[174.2994767,128.8676027],[174.3028382,128.9675421],[174.3061222,129.0674891],[174.3093319,129.1672686],[174.3124674,129.2672171],[174.3155252,129.3671679],[174.3185077,129.467121],[174.3214146,129.5671529],[174.3242486,129.6671107],[174.3268918,129.7670704],[174.329681,129.866955],[174.332286,129.966919],[174.3348122,130.0668848],[174.3372699,130.1668525],[174.3396484,130.2668221],[174.3419551,130.3667932],[174.3441827,130.4667631],[174.3463348,130.5667378],[174.3484115,130.6667142],[174.3504133,130.7666928],[174.3523382,130.8666719],[174.3541878,130.9666528],[174.3559532,131.0666351],[174.3576522,131.1666216],[174.3592758,131.2666064],[174.3608244,131.3665925],[174.3623074,131.4665797],[174.3637045,131.5665677],[174.365026,131.6665548],[174.366272,131.7665457],[174.3674425,131.8665371],[174.3685375,131.9665295],[174.3695571,132.0665226],[174.3705011,132.1665165],[174.3713696,132.2665111],[174.3721257,132.3665064],[174.3728438,132.4665023],[174.3735225,132.5664979],[174.3740889,132.6664948],[174.3745653,132.7664927],[174.3749805,132.8664904],[174.3753203,132.9664884],[174.3755904,133.0664867],[174.3757766,133.1667342],[174.3758897,133.2667343],[174.3759272,133.3667345]]};var t5={lengthMm:250,samplingMm:.1,points:[[0,0],[.100000164,379e-7],[.200076184,5165e-7],[.300000253,3404e-7],[.399996601,5948e-7],[.500000696,9711e-7],[.599999957,.0013867],[.700011487,.0018852],[.800010096,.0024519],[.900007582,.0030762],[1.000005203,.0037938],[1.099998278,.0045673],[1.199981673,.0054283],[1.299978296,.006373],[1.399973076,.0073924],[1.499967067,.0084874],[1.599960246,.0096579],[1.699952529,.0109039],[1.799943763,.012224],[1.899934036,.0136211],[1.999922333,.0150931],[2.099909713,.0166415],[2.199896653,.0182652],[2.29988293,.0199659],[2.399867314,.0217407],[2.499850335,.0235909],[2.599831913,.0255167],[2.699812002,.0275179],[2.799791087,.0295951],[2.899768015,.0317473],[2.99974347,.0339751],[3.099717027,.0362783],[3.199689891,.0386579],[3.299659185,.041111],[3.399626786,.0436403],[3.499592884,.0462454],[3.599556985,.0489261],[3.699518144,.0516815],[3.799478155,.0545132],[3.89943599,.0574204],[3.999391592,.0604031],[4.099344998,.0634599],[4.19929652,.0665956],[4.299245128,.0698048],[4.399191314,.0730894],[4.499134489,.0764484],[4.599075595,.079884],[4.699014843,.0834195],[4.798950592,.0870061],[4.898883482,.090668],[4.998813667,.0944055],[5.098754899,.0982042],[5.198679347,.1020925],[5.298600806,.1060564],[5.398504523,.1100852],[5.498420017,.1142001],[5.598332349,.1183896],[5.698241356,.1226553],[5.798147092,.1269965],[5.898049511,.1314131],[5.997947006,.1359047],[6.097842414,.140472],[6.197734506,.1451149],[6.297622126,.149833],[6.39750704,.1546267],[6.497388497,.159498],[6.597267057,.1644435],[6.697141065,.1694636],[6.79701104,.174559],[6.896877127,.1797298],[6.996739269,.1849759],[7.096596598,.1902965],[7.196450734,.1956936],[7.296300593,.2011659],[7.396146324,.2067119],[7.495985127,.2123291],[7.595822876,.2180281],[7.69565582,.2238028],[7.795484392,.2296521],[7.895308533,.2355769],[7.995128293,.2414808],[8.094943397,.2475602],[8.194755468,.2537113],[8.29456127,.2603912],[8.394362332,.2662396],[8.494158638,.2726168],[8.593950045,.2790694],[8.693736542,.2855973],[8.79355286,.2922005],[8.89332931,.2988791],[8.993066005,.3056331],[9.092830478,.3124623],[9.192591606,.3193636],[9.292347488,.3263436],[9.392098064,.3334004],[9.491931695,.3405311],[9.591669823,.3477372],[9.69131791,.3550185],[9.791046705,.3623752],[9.890769904,.3698106],[9.990493393,.3773199],[10.09020622,.3849042],[10.18991232,.3925608],[10.28961261,.4002939],[10.38930782,.4081023],[10.48899623,.415986],[10.58867422,.4239441],[10.68835064,.4319785],[10.78801887,.4400881],[10.88768308,.4482701],[10.98734434,.4565303],[11.08699612,.4648658],[11.18664103,.4732765],[11.28628011,.4817592],[11.38591284,.4903205],[11.48553898,.4989568],[11.58515856,.5076686],[11.68477084,.5164558],[11.78437717,.5253181],[11.88397678,.5342557],[11.98356583,.5432684],[12.08315181,.5523564],[12.18273096,.5615437],[12.28230311,.5707823],[12.38186825,.5800962],[12.48142633,.5894851],[12.5809773,.5989493],[12.68052118,.6084635],[12.78005776,.6180779],[12.87958698,.627783],[12.97911646,.637548],[13.07863121,.6473882],[13.17813849,.6573036],[13.27763825,.6672942],[13.37713044,.6773599],[13.47661499,.6875007],[13.57609199,.6977167],[13.67556112,.7080077],[13.77502258,.7183738],[13.87446788,.7288653],[13.973934,.7393634],[14.07337149,.7499548],[14.17280099,.7606212],[14.27220161,.7713119],[14.37161485,.7821284],[14.47101978,.79302],[14.57041685,.8039866],[14.66980534,.8150284],[14.76918547,.8261452],[14.8685571,.8373371],[14.96792092,.848604],[15.06727557,.8599459],[15.16662168,.8713653],[15.26595915,.8828572],[15.36528886,.8944872],[15.46460887,.9060663],[15.56392007,.9177834],[15.66322239,.9296106],[15.76253096,.941478],[15.8618155,.9534229],[15.96109144,.9654403],[16.06035787,.9775307],[16.15961512,.9896981],[16.25884693,1.0019403],[16.35808503,1.0142204],[16.45731438,1.0266124],[16.55653434,1.0390793],[16.65574562,1.0516211],[16.75494716,1.0642378],[16.8541648,1.0769295],[16.95334599,1.089696],[17.05249152,1.1025374],[17.15165335,1.1154537],[17.25080612,1.1284449],[17.34994859,1.141511],[17.4490827,1.1546546],[17.54820587,1.1678707],[17.64731948,1.1811619],[17.74642259,1.1945247],[17.84551558,1.2079653],[17.94459738,1.2214808],[18.04366998,1.235071],[18.1427323,1.2487361],[18.24178426,1.2624759],[18.34082587,1.2763179],[18.43985696,1.2902062],[18.53887755,1.3041693],[18.63788757,1.3182072],[18.73688695,1.3323198],[18.83587546,1.3465049],[18.93485413,1.3607686],[19.03382134,1.3751057],[19.13277767,1.3895176],[19.23171945,1.4040027],[19.33065384,1.4185639],[19.42957721,1.4331998],[19.5284895,1.4479104],[19.62739083,1.4626959],[19.72628056,1.4775556],[19.82515927,1.4924902],[19.9240267,1.5074995],[20.02288276,1.5225835],[20.12172741,1.5377421],[20.22056042,1.5529752],[20.31938208,1.5682832],[20.41819209,1.5836659],[20.5169905,1.599123],[20.6157772,1.6146547],[20.714552,1.6302631],[20.81331801,1.6459629],[20.91206929,1.6617184],[21.01080864,1.6775486],[21.109536,1.6934532],[21.20825055,1.7094306],[21.30695364,1.7254842],[21.40564489,1.7416126],[21.50431883,1.7577908],[21.60298554,1.7740663],[21.70163984,1.7904181],[21.80028169,1.806845],[21.89891124,1.8233459],[21.99752824,1.8399211],[22.09613287,1.8565738],[22.19472472,1.8732979],[22.29330577,1.8900977],[22.39195413,1.9070691],[22.49042593,1.9239181],[22.5889828,1.9409535],[22.68751078,1.9580498],[22.78600993,1.9752063],[22.88451196,1.9924513],[22.98300093,2.0097707],[23.081475,2.0271608],[23.17993764,2.0446289],[23.27838719,2.0621714],[23.37682346,2.0797883],[23.4752464,2.0974796],[23.57379163,2.1154995],[23.67205408,2.1330862],[23.77044071,2.1510106],[23.86880981,2.1689992],[23.96716528,2.1870621],[24.06550699,2.2051992],[24.16383505,2.2234106],[24.26214888,2.2416958],[24.36044932,2.2600557],[24.45873722,2.2784908],[24.55700758,2.2969977],[24.65526619,2.3155802],[24.75351074,2.3342369],[24.851737,2.3529573],[24.94995382,2.3717627],[25.04815578,2.3906419],[25.14634233,2.4095942],[25.2445157,2.4286215],[25.34267473,2.447723],[25.44082454,2.4669033],[25.53895457,2.486153],[25.63707017,2.505476],[25.73516525,2.5248688],[25.8332514,2.5443409],[25.93132275,2.5638869],[26.0293794,2.5835071],[26.12742248,2.6032446],[26.22544934,2.6230131],[26.32348658,2.642882],[26.42148354,2.6627984],[26.51946541,2.6827888],[26.61741131,2.7027879],[26.71536284,2.7229262],[26.81329968,2.7431401],[26.91121594,2.7634219],[27.00912211,2.7837843],[27.10701243,2.8042185],[27.20488729,2.8247266],[27.30274663,2.8453085],[27.40059038,2.8659644],[27.4984185,2.8866942],[27.59623093,2.9074978],[27.6940276,2.9283753],[27.79180419,2.9493479],[27.88956922,2.970373],[27.98731833,2.991472],[28.08505565,3.0126261],[28.18277306,3.0338733],[28.28047413,3.0551937],[28.37815901,3.0765877],[28.47582719,3.0980532],[28.57347969,3.1195948],[28.67111589,3.1412102],[28.76873563,3.1629006],[28.86633791,3.1846629],[28.96392501,3.2064974],[29.06149552,3.2284077],[29.15905027,3.2503922],[29.25658762,3.2724498],[29.35410802,3.2945827],[29.45161193,3.3167876],[29.54909904,3.3390661],[29.64658575,3.3614328],[29.74403947,3.3838589],[29.84146037,3.4063443],[29.93887927,3.4289143],[30.03628148,3.4515607],[30.13366656,3.4742791],[30.23103445,3.4970726],[30.32838434,3.519939],[30.42571584,3.5428785],[30.52303187,3.5658926],[30.62033048,3.5889801],[30.71761161,3.6121411],[30.81486779,3.6354107],[30.91211402,3.6587188],[31.0093424,3.6821001],[31.1065598,3.7055177],[31.20375276,3.7290459],[31.3009276,3.7526471],[31.39808506,3.7763222],[31.49522449,3.8000705],[31.59234599,3.8238922],[31.68944944,3.8477873],[31.78653484,3.8717557],[31.88360211,3.8957974],[31.98065117,3.9199124],[32.07768225,3.9441041],[32.17469479,3.9683656],[32.27168895,3.9927004],[32.3686647,4.0171084],[32.46562197,4.0415898],[32.56256072,4.0661443],[32.65948089,4.0907719],[32.75638242,4.1154727],[32.85326526,4.1402467],[32.95012934,4.1650938],[33.04698054,4.1900408],[33.14380486,4.2150309],[33.24061248,4.2400977],[33.33740112,4.2652377],[33.43417076,4.2904508],[33.53092129,4.3157369],[33.6276527,4.341096],[33.72435968,4.3665017],[33.82105274,4.3920068],[33.91772634,4.4175847],[34.01438065,4.4432357],[34.11101567,4.4689598],[34.207631,4.4947566],[34.30422692,4.5206266],[34.40080326,4.5465694],[34.49743302,4.5726731],[34.59396977,4.5987615],[34.6904143,4.6248356],[34.78691178,4.65107],[34.88338956,4.6773774],[34.97984729,4.7037575],[35.07628291,4.7302058],[35.17271959,4.7567425],[35.26911739,4.783341],[35.36548467,4.8100648],[35.46184205,4.8368088],[35.55817829,4.8636239],[35.6544953,4.8905135],[35.75081043,4.917439],[35.84708653,4.944474],[35.94334218,4.9715816],[36.03954921,4.9987376],[36.13576379,5.0259906],[36.23196843,5.0533681],[36.32814191,5.0807667],[36.42429467,5.1082381],[36.52042662,5.1357819],[36.61645638,5.1637854],[36.71262673,5.1910371],[36.80869602,5.2187985],[36.90474415,5.2466354],[37.00077136,5.2745418],[37.09677923,5.3025221],[37.19275384,5.3305683],[37.28871741,5.3586921],[37.38465967,5.3868883],[37.48058064,5.4151569],[37.5764803,5.4434981],[37.672362,5.4719218],[37.76821735,5.5004043],[37.86405245,5.5289628],[37.96000159,5.5578475],[38.05565838,5.5862973],[38.15142871,5.615073],[38.24717971,5.6439227],[38.3429063,5.6728428],[38.43861071,5.7018349],[38.53429349,5.7308995],[38.62995416,5.7600362],[38.72559292,5.7892453],[38.82120544,5.8185145],[38.91679992,5.8478679],[39.01237011,5.877292],[39.1079201,5.9067908],[39.20344911,5.9363617],[39.29895448,5.9660036],[39.3944374,5.9957178],[39.48989942,6.0255048],[39.58533739,6.055363],[39.68075275,6.0852932],[39.77614463,6.1152941],[39.87151471,6.1453685],[39.96686205,6.175515],[40.06218659,6.2057334],[40.15748826,6.2360238],[40.25276779,6.2663888],[40.34802355,6.296823],[40.44325632,6.3273294],[40.53846606,6.3579076],[40.63365266,6.3885576],[40.72881608,6.4192796],[40.82395683,6.450075],[40.91907386,6.4809408],[41.01416743,6.5118782],[41.10923596,6.5428866],[41.20428307,6.5739708],[41.29930632,6.6051236],[41.39430599,6.6363484],[41.48926925,6.6677087],[41.58422174,6.6990767],[41.67915038,6.7305163],[41.77406756,6.7619612],[41.86894864,6.7935443],[41.96380584,6.8251989],[42.05863906,6.8569251],[42.15344836,6.888723],[42.2482336,6.9205925],[42.34302806,6.9525569],[42.43776473,6.9845665],[42.53247763,7.0166507],[42.62716655,7.0488072],[42.72169343,7.0815],[42.81643659,7.1133077],[42.91105171,7.1456804],[43.00564273,7.178122],[43.10020923,7.210635],[43.19475119,7.2432195],[43.28926852,7.2758753],[43.3837635,7.3086039],[43.47823162,7.3414063],[43.57267467,7.3742762],[43.6670926,7.4072185],[43.76148625,7.440229],[43.85585462,7.4733128],[43.95019796,7.5064679],[44.04451629,7.5396942],[44.13881023,7.5729924],[44.23307818,7.606361],[44.32731863,7.6397994],[44.42153633,7.6733095],[44.51572829,7.7068884],[44.6098949,7.7405416],[44.70403569,7.7742656],[44.79815162,7.8080612],[44.89224191,7.8419278],[44.98630659,7.8758655],[45.08034561,7.9098742],[45.17435892,7.9439538],[45.26844684,7.9782119],[45.36234857,8.0123597],[45.45624483,8.0466174],[45.550155,8.0809811],[45.64403914,8.1154156],[45.73789727,8.1499211],[45.83172932,8.1844974],[45.92553523,8.2191446],[46.01931494,8.2538626],[46.11317797,8.2891776],[46.20679562,8.323511],[46.30049645,8.3584414],[46.39417086,8.3934425],[46.48782436,8.4285413],[46.58144583,8.463684],[46.67504073,8.4988975],[46.768609,8.5341816],[46.8621506,8.5695363],[46.95566546,8.6049616],[47.04915357,8.6404576],[47.14260902,8.6759993],[47.23603848,8.711634],[47.32944581,8.7473414],[47.42282618,8.7831193],[47.51617948,8.8189677],[47.60950565,8.8548865],[47.70280705,8.8909316],[47.79607896,8.9269916],[47.88932357,8.9631222],[47.98254089,8.999323],[48.07573092,9.0355915],[48.16889197,9.0718785],[48.2620271,9.1082905],[48.35513474,9.1447728],[48.44821475,9.1813253],[48.54126713,9.2179481],[48.63429185,9.2546411],[48.7272888,9.2914045],[48.82025793,9.328238],[48.91319926,9.3651418],[49.00609722,9.402193],[49.09898277,9.4392371],[49.19184022,9.4763513],[49.28466961,9.5135355],[49.3774865,9.5507129],[49.47025958,9.5880376],[49.56300454,9.6254322],[49.65571911,9.6628921],[49.74840746,9.7004265],[49.8410672,9.7380327],[49.93369792,9.7757055],[50.02630116,9.8134499],[50.11887579,9.851264],[50.2114219,9.8891483],[50.30381482,9.9276944],[50.39642794,9.9651262],[50.48888789,10.00322],[50.58131936,10.0413824],[50.67372163,10.0796157],[50.76609505,10.1179189],[50.85843948,10.1562918],[50.95075497,10.1947344],[51.04304143,10.2332468],[51.13529876,10.2718289],[51.22752694,10.3104806],[51.31972597,10.349202],[51.41189582,10.3879932],[51.50403621,10.4268537],[51.59614722,10.4657838],[51.68822881,10.5047838],[51.78028094,10.543853],[51.87230304,10.5829945],[51.9642961,10.6222027],[52.05625948,10.6614803],[52.14819469,10.7008288],[52.24010233,10.7402557],[52.3319766,10.7797418],[52.4239832,10.8195407],[52.51563543,10.8589223],[52.60742003,10.8986163],[52.69917362,10.9383762],[52.7908982,10.9782089],[52.88259268,11.0181109],[52.97425696,11.0580822],[53.06589329,11.0981241],[53.15749715,11.1382337],[53.24907076,11.1784123],[53.34060972,11.218648],[53.43212465,11.2589666],[53.52362833,11.2993526],[53.61507994,11.3398076],[53.70650098,11.3803326],[53.79789127,11.4209258],[53.88929687,11.4616432],[53.98062559,11.5023739],[54.07187787,11.5431175],[54.1631451,11.5839865],[54.25438146,11.6249237],[54.34558685,11.6659295],[54.43676193,11.707008],[54.52790526,11.7481526],[54.61901873,11.789366],[54.71010042,11.8306517],[54.80115173,11.8720026],[54.89217041,11.9134221],[54.98315783,11.9549106],[55.07411395,11.9964681],[55.1650386,12.038094],[55.25593179,12.0797884],[55.34679345,12.1215515],[55.43762422,12.163385],[55.52842356,12.2052853],[55.6191904,12.2472541],[55.70992545,12.2892915],[55.80062738,12.3313973],[55.89129722,12.3735684],[55.98193628,12.4158086],[56.07254427,12.4581239],[56.16312011,12.5005037],[56.25366544,12.5429517],[56.34417707,12.585468],[56.43465657,12.6280528],[56.52510386,12.6707059],[56.6155189,12.7134272],[56.70590163,12.7562168],[56.796252,12.7990748],[56.88657003,12.8420009],[56.97685561,12.8849952],[57.06710723,12.9280577],[57.15732742,12.9711853],[57.24751455,13.0143841],[57.33766974,13.0576498],[57.42779189,13.100986],[57.51788283,13.1443889],[57.60793994,13.18786],[57.69796419,13.2313993],[57.78795543,13.2750063],[57.87791392,13.318681],[57.96783929,13.3624239],[58.05774734,13.4063247],[58.14760684,13.4502476],[58.23743278,13.4941941],[58.32720943,13.5381206],[58.41696898,13.5821568],[58.50669531,13.6263069],[58.59638818,13.6705246],[58.68604744,13.7148139],[58.77567488,13.7591669],[58.86526727,13.8035876],[58.9548261,13.8480759],[59.04435074,13.8926309],[59.13384231,13.9372528],[59.22329965,13.9819571],[59.3125789,14.0267413],[59.40211396,14.0715423],[59.49146907,14.1164361],[59.58079167,14.1613944],[59.67008014,14.2064232],[59.75933454,14.2515057],[59.84858222,14.2967028],[59.93776784,14.3419323],[60.02689212,14.3871972],[60.11600998,14.4325629],[60.20509356,14.4779958],[60.29425858,14.5234999],[60.38318342,14.5691221],[60.47216385,14.6147568],[60.5611098,14.6604587],[60.65002698,14.7062556],[60.73889043,14.7520327],[60.8277327,14.7979361],[60.91654025,14.8439064],[61.00531308,14.8899439],[61.0940511,14.9360484],[61.18275428,14.9822199],[61.27140966,15.0284584],[61.36003701,15.0747344],[61.44863523,15.1211067],[61.53719845,15.1675457],[61.62572663,15.2140516],[61.71421962,15.2606244],[61.80267741,15.307264],[61.89109986,15.3539706],[61.9794871,15.4007433],[62.06783958,15.4475849],[62.15615694,15.4944917],[62.24443762,15.5414683],[62.33268451,15.5885084],[62.42089472,15.6356435],[62.50851048,15.6828168],[62.59664711,15.7300567],[62.68474807,15.7773634],[62.77281331,15.8247076],[62.86084016,15.8721592],[62.94883406,15.9196531],[63.0367919,15.9672228],[63.1247138,16.0148616],[63.21259975,16.0625671],[63.30044964,16.1103393],[63.38826351,16.1581772],[63.47630072,16.2060814],[63.56383148,16.2540501],[63.65153719,16.3020867],[63.7392066,16.3502035],[63.82683968,16.3983725],[63.91443636,16.4465937],[64.00198135,16.4948947],[64.08945474,16.5432699],[64.17694175,16.5916911],[64.26440738,16.6401907],[64.35182119,16.6887562],[64.43919833,16.7373877],[64.52654633,16.7860854],[64.6138501,16.834854],[64.70112236,16.8836834],[64.78835233,16.9325787],[64.87554536,16.9815399],[64.96270141,17.0305669],[65.05040964,17.0796597],[65.13749269,17.1288183],[65.22453161,17.1780816],[65.31154033,17.2273715],[65.39849761,17.2767271],[65.48545306,17.3261095],[65.57234986,17.3755906],[65.65920929,17.4251433],[65.74603124,17.4747614],[65.83281568,17.5244452],[65.91956258,17.5741944],[66.00639315,17.6242365],[66.09294354,17.6738893],[66.1795775,17.7238349],[66.26617371,17.773845],[66.35273155,17.8239236],[66.43925214,17.8740653],[66.52573557,17.9242723],[66.61218031,17.9745457],[66.69858704,18.0248832],[66.78495575,18.0752859],[66.87128637,18.1257539],[66.95758681,18.1762974],[67.04384128,18.2269294],[67.13005793,18.2775915],[67.21623572,18.3282862],[67.30237515,18.3790799],[67.38847632,18.4299389],[67.47453909,18.4808646],[67.56056336,18.5318534],[67.64654909,18.582907],[67.73249624,18.6340257],[67.81840477,18.6852102],[67.90426889,18.7364587],[67.99009585,18.7877598],[68.0758881,18.8391378],[68.16164153,18.8905805],[68.24731972,18.9421547],[68.33303804,18.9938285],[68.41865045,19.0454651],[68.50428422,19.0971003],[68.58982458,19.1487648],[68.6753441,19.2005956],[68.7608244,19.2524909],[68.84626606,19.3044545],[68.93166944,19.3564773],[69.01703263,19.408569],[69.10235566,19.4607226],[69.18764069,19.5129403],[69.27288506,19.5652224],[69.35808983,19.6175689],[69.44325505,19.6699787],[69.52821655,19.7224502],[69.61346683,19.7749975],[69.69851479,19.827601],[69.7835212,19.8802688],[69.86848643,19.9330006],[69.95341325,19.9857966],[70.03830019,20.0386554],[70.1231472,20.0915797],[70.20795508,20.1445681],[70.29272206,20.1976205],[70.37744766,20.250737],[70.46213275,20.3039177],[70.54677852,20.3571557],[70.63138489,20.410464],[70.71595097,20.4638362],[70.80047632,20.5172734],[70.88496175,20.5707734],[70.96940696,20.624337],[71.05381142,20.6779643],[71.13817535,20.7316554],[71.22249852,20.7854142],[71.30678304,20.8392326],[71.39102492,20.8931148],[71.47522577,20.9470595],[71.55938607,21.0010683],[71.64350614,21.0551418],[71.72758508,21.1092781],[71.81162258,21.1634778],[71.89561969,21.217741],[71.97957381,21.2720658],[72.06348908,21.3264524],[72.14736308,21.3809059],[72.23119587,21.4354229],[72.31498752,21.490003],[72.39873796,21.5446463],[72.48244705,21.5993528],[72.56611484,21.6541225],[72.64974124,21.7089554],[72.73332619,21.7638514],[72.81686984,21.8188106],[72.90035504,21.8739254],[72.98381539,21.9290103],[73.06725092,21.9840663],[73.15062802,22.0392774],[73.23396338,22.0946108],[73.31725695,22.1499497],[73.40050874,22.2052906],[73.48371867,22.2607534],[73.56688618,22.3162826],[73.6500141,22.3719332],[73.73312501,22.4275845],[73.81616703,22.4832985],[73.89916693,22.5390751],[73.98212468,22.5949127],[74.06501449,22.6508146],[74.14788551,22.7067161],[74.23071484,22.7627418],[74.31350355,22.8188313],[74.39625037,22.8750378],[74.47895425,22.9312523],[74.56161565,22.9874721],[74.64423451,23.0438117],[74.72692711,23.1007582],[74.80934445,23.1566776],[74.89183548,23.213204],[74.97428372,23.2697929],[75.05668926,23.3264439],[75.13907032,23.3831859],[75.22139034,23.4399615],[75.30366765,23.4967991],[75.38590181,23.5536989],[75.46809294,23.6106607],[75.55024101,23.6676846],[75.63234664,23.7247723],[75.7143961,23.7819203],[75.796408,23.8391003],[75.87838268,23.8963705],[75.96031486,23.9537042],[76.04220371,24.0110997],[76.12404921,24.068557],[76.20585127,24.1260762],[76.2876387,24.1836571],[76.36935333,24.2412996],[76.45102443,24.2990039],[76.53265129,24.3567723],[76.61423514,24.4145998],[76.69577533,24.472489],[76.77727174,24.5304396],[76.85872436,24.5884518],[76.94013314,24.6465255],[77.02149803,24.7046606],[77.10281898,24.7628571],[77.18409645,24.8211132],[77.26532937,24.8794325],[77.34651821,24.9378132],[77.42766293,24.9962551],[77.50876158,25.0547541],[77.5898179,25.1133185],[77.67082997,25.1719441],[77.75179781,25.2306309],[77.83272123,25.2893785],[77.91360014,25.3481873],[77.99443465,25.4070574],[78.07522473,25.4659885],[78.15597028,25.5249805],[78.23677902,25.5842359],[78.31732949,25.6431484],[78.39794131,25.7023232],[78.47850839,25.7615589],[78.55903072,25.8208555],[78.63950823,25.8802128],[78.71994113,25.9396311],[78.80026467,25.9992277],[78.88060757,26.0587669],[78.96090563,26.1183668],[79.0412224,26.1779104],[79.12143007,26.2376317],[79.20159248,26.2974139],[79.28170983,26.3572563],[79.3617819,26.417159],[79.44180878,26.4771223],[79.52176781,26.5372586],[79.60170361,26.5973435],[79.68159438,26.6574878],[79.76144038,26.7176932],[79.84126291,26.7778458],[79.92101721,26.838171],[80.00072591,26.8985564],[80.08038335,26.9589994],[80.16000066,27.0195051],[80.23957216,27.0800701],[80.31909801,27.140696],[80.39857806,27.201382],[80.47801225,27.2621279],[80.55740051,27.3229338],[80.63674286,27.3837997],[80.71603925,27.4447255],[80.79528944,27.505711],[80.87449361,27.5667571],[80.95365174,27.6278624],[81.03276723,27.6890376],[81.11183569,27.7502641],[81.19085525,27.8115487],[81.26982845,27.872893],[81.34875536,27.934297],[81.42763587,27.9957605],[81.50646993,28.0572836],[81.58525751,28.1188662],[81.66399854,28.1805083],[81.74269299,28.2422098],[81.82134082,28.3039707],[81.89994156,28.3657903],[81.9784994,28.4276722],[82.05700304,28.4895994],[82.13546388,28.5515975],[82.21387788,28.6136548],[82.29224237,28.6757699],[82.37056257,28.7379456],[82.44890563,28.8002649],[82.52713307,28.8625599],[82.60524238,28.9248289],[82.68337141,28.9872389],[82.7614563,29.0497099],[82.83949399,29.1122398],[82.91748443,29.1748286],[82.99542698,29.237479],[83.07332285,29.3001856],[83.15117138,29.362951],[83.22897243,29.4257752],[83.30672697,29.4886654],[83.38443298,29.5516073],[83.46209151,29.6146076],[83.53970245,29.6776665],[83.61726572,29.740784],[83.69478131,29.8039601],[83.77224917,29.8671947],[83.84966925,29.9304877],[83.92704139,29.9938391],[84.00436636,30.0572506],[84.08164288,30.1207189],[84.15887095,30.1842421],[84.23605134,30.2478314],[84.31318369,30.3114708],[84.39026816,30.3751722],[84.4673045,30.4389318],[84.5442928,30.5027497],[84.62123275,30.5666255],[84.6981238,30.6305568],[84.7749672,30.6945488],[84.85176241,30.7585994],[84.92850909,30.8227075],[85.00520734,30.8868735],[85.08185729,30.9510939],[85.15845847,31.0153758],[85.23501115,31.0797154],[85.3115152,31.1441128],[85.38797063,31.20847],[85.46437737,31.2729846],[85.54073537,31.3375569],[85.61704458,31.4021868],[85.69330437,31.4668744],[85.76951589,31.5316195],[85.84572604,31.5965397],[85.92183982,31.6614002],[85.99790458,31.7263181],[86.07384278,31.7912983],[86.14980885,31.8563309],[86.22575506,31.9213021],[86.30162331,31.9864492],[86.37744236,32.0516535],[86.45321262,32.1169151],[86.52893307,32.1833983],[86.60460418,32.2476099],[86.68022588,32.3130436],[86.75579818,32.3785338],[86.83132091,32.4441361],[86.90682075,32.5097412],[86.98224466,32.575403],[87.05761896,32.6411216],[87.13294386,32.7068972],[87.20821881,32.7727296],[87.28344557,32.8386188],[87.35862094,32.9045648],[87.43371837,32.9705693],[87.50879457,33.0365663],[87.58382131,33.1026823],[87.65879542,33.1688613],[87.73372375,33.2350904],[87.80859957,33.301376],[87.88342536,33.3677182],[87.95820098,33.4341168],[88.03292634,33.5005719],[88.10760159,33.5670834],[88.18222709,33.6336514],[88.25679968,33.7002756],[88.33132409,33.766956],[88.40579813,33.8336875],[88.48031191,33.9004807],[88.55459489,33.96733],[88.6289175,34.0342357],[88.70318962,34.1011973],[88.7775803,34.1682149],[88.85158198,34.2352886],[88.92570211,34.3024183],[88.99977165,34.369604],[89.07385152,34.4368455],[89.14783237,34.504143],[89.22174803,34.5714962],[89.29561252,34.6389054],[89.36942832,34.7063703],[89.44319333,34.7738909],[89.51690696,34.8414672],[89.59056954,34.9090992],[89.66416794,34.9767868],[89.73772212,35.0445299],[89.81123102,35.1123286],[89.88468892,35.1802523],[89.95809542,35.2481622],[90.03145075,35.3161278],[90.10475444,35.3841484],[90.17800704,35.4522244],[90.25120822,35.520282],[90.32435794,35.5884684],[90.39745621,35.65671],[90.47050283,35.7250068],[90.54349785,35.7933587],[90.61644124,35.8617658],[90.68933293,35.9302277],[90.76217292,35.9987449],[90.8349609,36.067317],[90.90769735,36.1359447],[90.98038208,36.2046267],[91.05301479,36.2733643],[91.12559557,36.342156],[91.19812438,36.4110025],[91.27060117,36.4799037],[91.34300145,36.5488597],[91.4154205,36.6178703],[91.4877409,36.6869363],[91.5600092,36.7560576],[91.63220335,36.825232],[91.70436721,36.8944608],[91.77647877,36.9637442],[91.84853799,37.033082],[91.92054482,37.1024741],[91.99249923,37.1718443],[92.06440135,37.2413433],[92.13625079,37.3108966],[92.2080477,37.3805041],[92.27979201,37.4501659],[92.35148368,37.5198818],[92.42312269,37.5896518],[92.49451241,37.659477],[92.56624255,37.7293541],[92.6377233,37.7992862],[92.70915122,37.8692723],[92.78052627,37.9393124],[92.85184839,38.0094063],[92.92311757,38.0795541],[92.99433374,38.1497557],[93.06549688,38.220011],[93.13660694,38.2903201],[93.20766388,38.3606828],[93.27866766,38.4311686],[93.34961825,38.5016385],[93.42051559,38.572162],[93.49135962,38.6426698],[93.56215036,38.7133003],[93.63288774,38.7839843],[93.7035749,38.8547309],[93.77420994,38.9255218],[93.84478717,38.996366],[93.91531082,39.0672634],[93.9857809,39.1382142],[94.05619689,39.2092181],[94.12655924,39.2802741],[94.19686836,39.3513842],[94.26703345,39.4227131],[94.3372955,39.4939289],[94.4073833,39.5653068],[94.4775673,39.6364661],[94.54760743,39.7077324],[94.61758848,39.7791604],[94.68751692,39.8506302],[94.75739509,39.9221635],[94.82721922,39.9937498],[94.89698927,40.065389],[94.96670511,40.1370817],[95.03636687,40.2088259],[95.10597441,40.2806229],[95.1755277,40.3524723],[95.24502675,40.4243743],[95.31447146,40.4963268],[95.38386165,40.5683329],[95.45319765,40.6403922],[95.52247918,40.712504],[95.59170626,40.784668],[95.66087882,40.8568842],[95.72999683,40.9291526],[95.79906024,41.0014733],[95.86806901,41.0738461],[95.93702311,41.1462733],[96.00592255,41.2187501],[96.07476718,41.291279],[96.14355674,41.3638603],[96.21229197,41.4364997],[96.28104001,41.5093118],[96.34959765,41.5819211],[96.41816795,41.6547096],[96.48668497,41.7275557],[96.55514535,41.8004477],[96.62355418,41.8733914],[96.69190458,41.9463913],[96.76019956,42.0194382],[96.82844122,42.0925366],[96.89662576,42.1656865],[96.96475503,42.2388879],[97.03282899,42.3121337],[97.1008476,42.3854378],[97.16881062,42.4587977],[97.2367189,42.5322053],[97.30457347,42.6056635],[97.37237034,42.6791727],[97.44011017,42.752733],[97.50779431,42.8263444],[97.5754238,42.8999996],[97.64299834,42.9737132],[97.71051599,43.0474778],[97.77797913,43.1212933],[97.84538433,43.1951573],[97.91273529,43.2690788],[97.9800311,43.3430433],[98.04727249,43.4170623],[98.11445553,43.4911322],[98.18158294,43.565251],[98.24865489,43.6394222],[98.31567083,43.7136441],[98.38263029,43.7879165],[98.44953405,43.8622395],[98.51637991,43.9366122],[98.58310241,44.0110983],[98.64990714,44.0855068],[98.71658609,44.1600316],[98.78320792,44.2346098],[98.84977268,44.3092353],[98.91628224,44.383908],[98.98273571,44.4586338],[99.04913273,44.5334108],[99.11547325,44.6082368],[99.18175701,44.6831135],[99.24798415,44.7580398],[99.31415379,44.8330155],[99.38026802,44.9080417],[99.4463263,44.9831158],[99.51232713,45.0582419],[99.57827076,45.1334189],[99.64415862,45.2086446],[99.70998907,45.2839199],[99.77576265,45.359245],[99.84147933,45.4346197],[99.90694676,45.5102174],[99.97274159,45.5855183],[100.0382871,45.6610417],[100.1037759,45.7366145],[100.1692077,45.8122362],[100.2345822,45.8879079],[100.2999015,45.9636948],[100.3651886,46.0394653],[100.4303915,46.1152851],[100.4955371,46.1911529],[100.5606255,46.2670709],[100.6256292,46.3430382],[100.6906009,46.4189895],[100.755517,46.4950548],[100.8203756,46.571169],[100.8851768,46.6473323],[100.9499203,46.7235444],[101.0146064,46.7998054],[101.0792348,46.8761142],[101.1438056,46.9524728],[101.2083187,47.0288803],[101.272774,47.1053364],[101.3371716,47.1818412],[101.4015527,47.2584721],[101.4657934,47.3349966],[101.5301289,47.4121856],[101.5941836,47.4883461],[101.6582919,47.5650932],[101.7223422,47.641889],[101.7863342,47.7187332],[101.8502739,47.795653],[101.9141623,47.8726028],[101.9779804,47.9495917],[102.0417404,48.0266288],[102.1054421,48.1037139],[102.1690856,48.1808472],[102.2326709,48.2580285],[102.2961978,48.3352579],[102.3596537,48.4125278],[102.423058,48.4898243],[102.4864097,48.5671972],[102.549703,48.6446179],[102.6129375,48.7220867],[102.6761136,48.7996026],[102.7392313,48.8771666],[102.8022904,48.9547781],[102.8652909,49.0324373],[102.9282328,49.110144],[102.9911159,49.1878981],[103.0539405,49.2656999],[103.1166802,49.3436785],[103.1794023,49.4218881],[103.2420501,49.4998311],[103.3045711,49.5777397],[103.3671539,49.655548],[103.4296513,49.7335047],[103.4920635,49.8116375],[103.5544168,49.8898174],[103.6167109,49.9680443],[103.678946,50.0463183],[103.7411221,50.1246391],[103.8032389,50.203007],[103.8652965,50.2814218],[103.9273097,50.3599112],[103.9892338,50.4383916],[104.0511136,50.5169467],[104.112934,50.5955486],[104.1744865,50.6742257],[104.2363967,50.7528922],[104.2980389,50.831634],[104.3596216,50.9104222],[104.4211477,50.9892653],[104.4826153,51.0681485],[104.5440198,51.1470769],[104.6053394,51.2260709],[104.6666319,51.3051053],[104.7278748,51.3841382],[104.7890404,51.4632509],[104.8501461,51.5424099],[104.9111919,51.6216152],[104.9721783,51.7008661],[105.0331045,51.7801634],[105.0939707,51.8595066],[105.154777,51.9388958],[105.2155233,52.0183308],[105.2762017,52.0977997],[105.3368278,52.1773267],[105.397394,52.2568991],[105.4579003,52.3365173],[105.5183462,52.416181],[105.5787319,52.4958904],[105.6390574,52.5756453],[105.6993227,52.6554458],[105.7595277,52.7352917],[105.8196723,52.8151831],[105.879707,52.8952147],[105.9397101,52.975157],[105.9997439,53.0551297],[106.0596458,53.1352019],[106.1194872,53.2153174],[106.1792692,53.2954804],[106.2389908,53.3756886],[106.2981939,53.4563548],[106.3582519,53.5362401],[106.4177911,53.6165832],[106.4772697,53.6969709],[106.5366878,53.7774039],[106.5960452,53.8578818],[106.6553419,53.9384046],[106.7145777,54.0189721],[106.7737526,54.0995842],[106.8328669,54.1802412],[106.8919197,54.2609426],[106.9509125,54.3416901],[107.0098436,54.4224807],[107.0687145,54.5033161],[107.1275236,54.5841956],[107.1862716,54.6651195],[107.2449584,54.7460877],[107.3035841,54.8271002],[107.3621482,54.9081567],[107.4206521,54.989257],[107.4790938,55.0704013],[107.5374745,55.1515905],[107.595794,55.2328239],[107.654052,55.3141012],[107.7122486,55.3954225],[107.7703838,55.4767877],[107.8284575,55.5581968],[107.8864704,55.6396522],[107.9444211,55.721149],[108.0023114,55.8026901],[108.0601389,55.8842741],[108.1179048,55.965902],[108.1756091,56.0475733],[108.2332516,56.1292883],[108.2907481,56.2112079],[108.3482667,56.2930087],[108.4058081,56.3746936],[108.4632036,56.4565844],[108.5205371,56.5385164],[108.5778105,56.6204927],[108.6350203,56.7025112],[108.6921681,56.7845729],[108.749254,56.8666778],[108.8062778,56.9488257],[108.8632399,57.0310212],[108.9201396,57.113255],[108.9769779,57.1955326],[109.0337533,57.2778523],[109.0904659,57.3602125],[109.1471169,57.442618],[109.2037054,57.5250708],[109.2602321,57.6075621],[109.3166966,57.6900967],[109.3730984,57.7726728],[109.4294376,57.8552884],[109.4857145,57.93795],[109.5419267,58.0206568],[109.5980789,58.1034028],[109.6541699,58.1861888],[109.710197,58.2690196],[109.766161,58.3518938],[109.8220608,58.4348112],[109.8779019,58.5177663],[109.9336785,58.6007659],[109.9893924,58.6838076],[110.0450432,58.7668907],[110.1006303,58.8500152],[110.1561564,58.9331795],[110.2116185,59.0163887],[110.2670175,59.0996394],[110.3223549,59.1829322],[110.3776297,59.2662654],[110.4328409,59.3496424],[110.4879891,59.4330612],[110.5430743,59.5165216],[110.5980964,59.6000235],[110.6530555,59.683567],[110.7079508,59.7671516],[110.7627829,59.8507765],[110.8175525,59.9344442],[110.8722591,60.0181534],[110.9269023,60.1019038],[110.9814832,60.1856946],[111.0359998,60.2695273],[111.0904531,60.3534013],[111.1448431,60.4373164],[111.1991697,60.5212725],[111.2534325,60.6052691],[111.3076322,60.6893071],[111.3617685,60.7733861],[111.4158412,60.857506],[111.4698503,60.9416666],[111.5237959,61.0258684],[111.577678,61.1101106],[111.6314964,61.1943934],[111.6852511,61.2787169],[111.7389421,61.3630809],[111.7924015,61.4476165],[111.8460156,61.5321545],[111.8994661,61.6165457],[111.9530686,61.7009417],[112.0064428,61.7855737],[112.0597778,61.8701992],[112.1130224,61.9548462],[112.1660898,62.0397404],[112.2192816,62.1245574],[112.272334,62.2093238],[112.3254363,62.294313],[112.3782553,62.3785964],[112.4311155,62.4634834],[112.4839117,62.5484103],[112.5366436,62.633377],[112.5893166,62.7184093],[112.6419315,62.8034623],[112.6944708,62.8885486],[112.7469482,62.9736813],[112.7993623,63.0588485],[112.8517088,63.1440536],[112.9039907,63.229298],[112.9562083,63.3145816],[113.0083499,63.3998982],[113.0604333,63.4852342],[113.1124577,63.5706362],[113.1644173,63.6560779],[113.2163126,63.7415583],[113.2681434,63.8270781],[113.3199095,63.9126369],[113.371611,63.9982347],[113.4232478,64.0838715],[113.4748161,64.1695454],[113.5263209,64.2552521],[113.5777636,64.3410055],[113.6291413,64.4267975],[113.6804542,64.5126287],[113.7317024,64.5984986],[113.7828855,64.684407],[113.8340036,64.770354],[113.8850572,64.8563397],[113.9360455,64.9423633],[113.9869691,65.028426],[114.0378274,65.1145271],[114.0886458,65.2008464],[114.1393743,65.2870242],[114.1900376,65.3732402],[114.2405847,65.4594487],[114.291145,65.5456071],[114.341613,65.6319378],[114.3920158,65.7183066],[114.4423534,65.8047135],[114.4926252,65.8911575],[114.5428322,65.9776402],[114.5929739,66.0641608],[114.6430505,66.1507194],[114.6930611,66.237315],[114.7430067,66.323949],[114.7928867,66.4106206],[114.8427014,66.49733],[114.8924504,66.584077],[114.9419169,66.6709154],[114.9917525,66.7576848],[115.041305,66.8445442],[115.0907925,66.9314413],[115.1402151,67.0183747],[115.1895707,67.1053463],[115.2388606,67.192355],[115.2880847,67.2794013],[115.3372431,67.3664844],[115.3863369,67.4536036],[115.4353639,67.5407613],[115.484325,67.6279558],[115.5332201,67.7151871],[115.5820493,67.8024552],[115.6308127,67.8897603],[115.67951,67.9771021],[115.7281414,68.0644806],[115.7767067,68.1518959],[115.8252061,68.2393477],[115.8736386,68.3268359],[115.9220057,68.4143609],[115.9703068,68.5019224],[116.0185417,68.5895204],[116.0667104,68.6771547],[116.1148129,68.7648254],[116.1627002,68.8528171],[116.2106702,68.940559],[116.2587225,69.028055],[116.3065597,69.1158694],[116.3543308,69.2037211],[116.4020356,69.2916089],[116.449674,69.3795326],[116.4972459,69.4674923],[116.5447515,69.5554879],[116.5921901,69.6435187],[116.6395627,69.731586],[116.6868687,69.819689],[116.7341083,69.9078277],[116.7812806,69.9960008],[116.8283868,70.0842111],[116.8754265,70.1724566],[116.9224001,70.2607399],[116.9693064,70.3490564],[117.0161463,70.4374085],[117.0629192,70.5257958],[117.1096254,70.6142183],[117.1562647,70.7026761],[117.2028374,70.7911692],[117.2493455,70.8796959],[117.2957843,70.9682591],[117.3421563,71.0568573],[117.3884614,71.1454906],[117.4346996,71.2341588],[117.4808706,71.3228619],[117.5269747,71.4115998],[117.5730118,71.5003725],[117.6189818,71.5891799],[117.6648848,71.6780221],[117.7107206,71.7668989],[117.7564893,71.8558102],[117.8021908,71.9447562],[117.847824,72.0337359],[117.8933906,72.1227486],[117.9388904,72.2117974],[117.9843228,72.3008811],[118.0296881,72.3899991],[118.0749861,72.4791512],[118.1202168,72.5683375],[118.1653801,72.6575581],[118.2104762,72.7468166],[118.2555062,72.836106],[118.3004674,72.9254287],[118.345361,73.0147851],[118.3901871,73.1041753],[118.4349456,73.1935994],[118.4796366,73.2830573],[118.5242602,73.3725493],[118.5688161,73.4620746],[118.6133061,73.5516386],[118.6577293,73.6412323],[118.7020822,73.7308584],[118.7463675,73.820518],[118.7905855,73.9102112],[118.8347353,73.9999376],[118.8788161,74.0896963],[118.9228301,74.1794898],[118.9667764,74.2693173],[119.010655,74.3591767],[119.0544675,74.4490704],[119.0982103,74.53899591],[119.1418852,74.62895441],[119.1854916,74.71894714],[119.2290105,74.80897161],[119.2724805,74.89902773],[119.3158803,74.98911144],[119.3592142,75.079234],[119.40248,75.16938928],[119.4456775,75.25958174],[119.4888071,75.34980112],[119.5318686,75.44005403],[119.5748618,75.53033948],[119.6177864,75.62065622],[119.6606426,75.71101179],[119.703431,75.8013945],[119.7461514,75.89180903],[119.7888034,75.98225609],[119.8313871,76.07273518],[119.8739024,76.16324651],[119.9163495,76.25378823],[119.9587271,76.34436368],[120.0010414,76.43496672],[120.0432839,76.52560376],[120.0854572,76.61627397],[120.1275604,76.7069772],[120.1696007,76.79770671],[120.2115686,76.8884735],[120.2534679,76.97927195],[120.2953001,77.07010108],[120.3370623,77.16096276],[120.3787557,77.25185588],[120.4203805,77.34278053],[120.4619367,77.43373661],[120.5034241,77.524724],[120.5448431,77.61574361],[120.5861597,77.70755959],[120.6274404,77.7986377],[120.6685612,77.88921004],[120.7098267,77.9801309],[120.7509015,78.07130537],[120.7919076,78.16251083],[120.8328493,78.25376991],[120.8737175,78.3450432],[120.9145167,78.43634155],[120.9549907,78.52801416],[120.9956528,78.61937243],[121.0365006,78.71042082],[121.0770238,78.80184189],[121.117478,78.89329353],[121.1578632,78.98477568],[121.1981744,79.07625845],[121.2384213,79.16780137],[121.2785991,79.25937443],[121.3187077,79.35097802],[121.3587471,79.44261195],[121.3987173,79.53427601],[121.4386183,79.62597025],[121.4784501,79.71769457],[121.5182145,79.80951247],[121.5579076,79.90131526],[121.5975314,79.99312952],[121.6370859,80.08497391],[121.676571,80.17684716],[121.7159865,80.2687512],[121.755331,80.36060253],[121.7947451,80.45271688],[121.8339523,80.54470914],[121.872953,80.63658167],[121.9120214,80.72863382],[121.9510201,80.82071545],[121.9899504,80.91356178],[122.028809,81.00496694],[122.0675991,81.09713669],[122.1063196,81.1893353],[122.1449704,81.28156359],[122.183552,81.37382412],[122.2220636,81.46611202],[122.2605052,81.55842817],[122.2988773,81.65077294],[122.3371795,81.74314662],[122.3754121,81.83554925],[122.413575,81.92798073],[122.4516679,82.020441],[122.4896911,82.11293001],[122.5276444,82.20544784],[122.5655279,82.2979942],[122.6033414,82.39056914],[122.6410852,82.48314884],[122.6787587,82.57578026],[122.7163625,82.6684403],[122.7538963,82.7611287],[122.7913588,82.85384168],[122.8287526,82.94658661],[122.8660763,83.03935979],[122.9033299,83.13216112],[122.9405135,83.22499055],[122.9776269,83.31784798],[123.0146703,83.4107335],[123.0516435,83.50364696],[123.0885465,83.59658831],[123.1253794,83.68955751],[123.162142,83.78255449],[123.198807,83.87571626],[123.2354292,83.96876861],[123.271981,84.06184853],[123.3084626,84.15495601],[123.3448738,84.24809098],[123.3812429,84.3411186],[123.4175135,84.43430865],[123.4537137,84.52752606],[123.4898435,84.62077078],[123.5259033,84.71404255],[123.5618921,84.80734202],[123.5978105,84.90066836],[123.6336628,84.99401928],[123.6695479,85.08739973],[123.7052554,85.18080716],[123.7408924,85.27424152],[123.7764588,85.36770271],[123.8119551,85.46119196],[123.8473808,85.5547069],[123.8827355,85.64824906],[123.9180194,85.74181737],[123.9532329,85.83541229],[123.9883754,85.92903376],[124.0234473,86.02268174],[124.0584473,86.11635657],[124.0933769,86.21005741],[124.1282364,86.30378459],[124.1630247,86.3975433],[124.1977427,86.49132313],[124.2323898,86.58513033],[124.2669669,86.67896299],[124.3014723,86.77282163],[124.3359064,86.86670596],[124.3702696,86.96061476],[124.4045623,87.05455212],[124.438784,87.14851421],[124.4729354,87.24250211],[124.5070152,87.33651576],[124.5410223,87.43055511],[124.57496,87.52461829],[124.6088267,87.61870889],[124.6426224,87.71281689],[124.676347,87.80695846],[124.7100004,87.90112547],[124.7435828,87.99531785],[124.777094,88.08953559],[124.8105306,88.18377971],[124.8438994,88.27804797],[124.8771968,88.37234081],[124.9104232,88.46665936],[124.9435777,88.56100296],[124.9766616,88.65537021],[125.0096761,88.74976327],[125.0426175,88.84418173],[125.0754875,88.93862502],[125.1082863,89.03309311],[125.1410136,89.12758594],[125.1736696,89.22210209],[125.2062546,89.31664371],[125.2387676,89.41121081],[125.2712107,89.50580207],[125.3035808,89.60041783],[125.3358797,89.69505798],[125.3681071,89.78972269],[125.4002627,89.8844115],[125.4323471,89.97912462],[125.4643599,90.07386189],[125.4963008,90.1686233],[125.5281707,90.26340881],[125.5599682,90.35821763],[125.5916947,90.45305116],[125.6233496,90.54790868],[125.6549329,90.64279001],[125.6864441,90.7376954],[125.7176743,90.83285867],[125.7489567,90.92806197],[125.7805509,91.02280541],[125.8117754,91.11755108],[125.842929,91.21257431],[125.8740101,91.30762134],[125.9050195,91.40269516],[125.9359587,91.49778928],[125.9668244,91.59290651],[125.9976184,91.68804707],[126.0283404,91.78321085],[126.058991,91.8783978],[126.0895694,91.97360815],[126.1200758,92.06884218],[126.1505099,92.16409845],[126.1808724,92.25937754],[126.2111629,92.35467953],[126.2413815,92.45000437],[126.2716002,92.54572451],[126.3015976,92.64072634],[126.3316,92.73611941],[126.3615289,92.831539],[126.3913873,92.92697343],[126.4211792,93.02245312],[126.4509028,93.11793644],[126.4805448,93.21344082],[126.5101148,93.3089689],[126.5396126,93.40451973],[126.5690383,93.50008987],[126.5983919,93.59568472],[126.6276733,93.69130169],[126.6568825,93.78694073],[126.6860194,93.88260178],[126.7150754,93.97828471],[126.7440633,94.07397105],[126.7729821,94.1696976],[126.8018305,94.26544609],[126.830606,94.36121267],[126.8593094,94.45700461],[126.8879407,94.55281819],[126.9164994,94.64865341],[126.9449836,94.74451015],[126.9733975,94.84038835],[127.0017393,94.93628796],[127.0300087,95.03221312],[127.0582057,95.12815541],[127.0863321,95.22411896],[127.1143911,95.32010131],[127.142371,95.41610712],[127.1702785,95.51213401],[127.1981123,95.6081852],[127.2258806,95.70425083],[127.2535721,95.80034048],[127.2811894,95.89645584],[127.3087348,95.99258708],[127.3362095,96.08873904],[127.3636086,96.18491167],[127.3909366,96.28110142],[127.418149,96.37755325],[127.4453319,96.47378705],[127.4724411,96.57004289],[127.4995223,96.66608146],[127.5264896,96.76237449],[127.5533826,96.85869043],[127.5802016,96.95502659],[127.6069496,97.051386],[127.6336256,97.14775898],[127.6602286,97.24415551],[127.686759,97.34057201],[127.7132169,97.43700858],[127.7396023,97.53346488],[127.7659152,97.62994098],[127.7921558,97.72643683],[127.8183237,97.82295235],[127.8444202,97.91948718],[127.8704431,98.0160419],[127.8963935,98.11261613],[127.9222713,98.20920708],[127.9480764,98.30582022],[127.9738092,98.40245246],[127.9994696,98.49910426],[128.0250564,98.59577532],[128.0505714,98.6924653],[128.0760138,98.78917265],[128.101384,98.88590104],[128.1266835,98.98270735],[128.1519328,99.07947378],[128.1770856,99.17625907],[128.2021658,99.27306237],[128.2271667,99.36988783],[128.2521017,99.4667297],[128.2769401,99.56358992],[128.3017288,99.66040914],[128.3264466,99.75730637],[128.351092,99.85422204],[128.3756663,99.9511561],[128.4001677,100.0481081],[128.4245958,100.1450788],[128.4489516,100.2420677],[128.4732351,100.3390752],[128.4974462,100.4361059],[128.5215879,100.5331492],[128.5456541,100.6302104],[128.5696481,100.7272895],[128.5935699,100.8243865],[128.6174194,100.9215012],[128.6411965,101.0186336],[128.6649014,101.1157838],[128.688534,101.2129515],[128.7120953,101.3101365],[128.7339787,101.4073388],[128.757395,101.5046563],[128.7807395,101.6018938],[128.804012,101.6991487],[128.8272126,101.7963238],[128.8503989,101.893613],[128.8734556,101.9909192],[128.8964402,102.0882359],[128.919353,102.1855728],[128.9421938,102.2829304],[128.9649628,102.3803043],[128.9876599,102.4776945],[129.0102852,102.5751019],[129.0328606,102.672526],[129.0553423,102.7699667],[129.0777522,102.867424],[129.1000901,102.9648977],[129.1223616,103.0623878],[129.1445564,103.1599405],[129.1666796,103.2574633],[129.1902339,103.3550023],[129.2107111,103.4525579],[129.2326195,103.5501292],[129.2559527,103.64767],[129.2777162,103.7452733],[129.2994077,103.8428927],[129.321028,103.9405278],[129.3425768,104.0381787],[129.3640538,104.1358453],[129.3854616,104.233526],[129.4037692,104.331223],[129.4280601,104.4289363],[129.4492522,104.5266653],[129.4703733,104.6244097],[129.491423,104.722168],[129.5124008,104.8199431],[129.5333082,104.9177333],[129.5541175,105.015675],[129.5749357,105.1134978],[129.5956882,105.2116153],[129.6162551,105.3091866],[129.6367563,105.4070529],[129.6572655,105.5047975],[129.6776767,105.6026928],[129.6980168,105.7006014],[129.7182889,105.7985403],[129.7381551,105.8967442],[129.758385,105.994697],[129.7783429,106.0926642],[129.7986656,106.190385],[129.8185824,106.288382],[129.8384282,106.3863935],[129.8582035,106.4844191],[129.8779077,106.5824591],[129.8975374,106.6805127],[129.9170979,106.7785657],[129.9365923,106.8766476],[129.955797,106.9749219],[129.9753704,107.0728508],[129.9946536,107.1709744],[130.0138686,107.2691115],[130.0330127,107.3672623],[130.0520867,107.4654268],[130.0710908,107.5636049],[130.0900248,107.6617956],[130.1088897,107.7600006],[130.1276855,107.8582187],[130.1464107,107.9564701],[130.1650655,108.0547115],[130.1836501,108.152968],[130.2021674,108.2512386],[130.2206167,108.3495219],[130.2389954,108.4478186],[130.2572963,108.5461315],[130.2755366,108.6444539],[130.293708,108.7427892],[130.3118104,108.8411371],[130.3298439,108.9394977],[130.3478086,109.0378709],[130.3657106,109.1362531],[130.3835397,109.234656],[130.4012986,109.3330666],[130.418989,109.4314895],[130.4366137,109.5299239],[130.4541672,109.6283712],[130.4716524,109.7268308],[130.4890694,109.8253025],[130.5064183,109.9237864],[130.5236987,110.0222821],[130.5409111,110.1207889],[130.5580561,110.2193083],[130.5751332,110.3178395],[130.5921412,110.4163826],[130.6090848,110.5149367],[130.625959,110.6135029],[130.6427652,110.7120805],[130.6595044,110.8106695],[130.6761738,110.9092644],[130.6927781,111.0078762],[130.7093152,111.1064996],[130.7257853,111.2051339],[130.7421868,111.3037797],[130.7585256,111.4024395],[130.7748055,111.5011024],[130.7910106,111.5997815],[130.8071461,111.698471],[130.8232154,111.7971713],[130.8392182,111.8958825],[130.8551544,111.9946051],[130.8710248,112.0933375],[130.886829,112.1920808],[130.902567,112.2908341],[130.9182388,112.3895982],[130.9338446,112.4883728],[130.9483652,112.588077],[130.9648553,112.6859535],[130.9802634,112.7847591],[130.9956075,112.8835736],[131.0108835,112.9823987],[131.0260953,113.0812316],[131.0412457,113.1800768],[131.0563229,113.278934],[131.0713389,113.3778001],[131.086291,113.4766757],[131.1011773,113.5755614],[131.1159988,113.6744566],[131.1307556,113.7733621],[131.1454478,113.8722768],[131.1600753,113.971201],[131.1746382,114.0701357],[131.189137,114.1690789],[131.2035676,114.2680324],[131.2179774,114.3671634],[131.2322485,114.4659648],[131.2464913,114.5649453],[131.2606708,114.6639348],[131.2747846,114.7629338],[131.2888357,114.8619417],[131.302825,114.9609673],[131.3167538,115.0599952],[131.3306185,115.1590319],[131.3444173,115.2580752],[131.3581519,115.3571281],[131.3718237,115.4561892],[131.3854325,115.555259],[131.3989784,115.6543415],[131.4124618,115.7534284],[131.4258842,115.852525],[131.4392383,115.9516265],[131.4525319,116.050731],[131.4657658,116.1498511],[131.478938,116.2489804],[131.4920477,116.3481173],[131.5050954,116.4472626],[131.5180815,116.5464159],[131.5310018,116.6455749],[131.5438646,116.7447442],[131.5566651,116.8439207],[131.5694056,116.9431054],[131.5820847,117.0422952],[131.5947025,117.1414946],[131.6072593,117.2407034],[131.6197553,117.3399198],[131.6321905,117.4391439],[131.6445569,117.538377],[131.6568729,117.637616],[131.6691331,117.7368617],[131.6813263,117.8361197],[131.6933239,117.9356321],[131.7056053,118.0350622],[131.7176432,118.1343537],[131.7295251,118.2332829],[131.7414186,118.3325735],[131.7532537,118.431873],[131.7650295,118.5311783],[131.7767228,118.6304756],[131.7883825,118.7297402],[131.7999809,118.8290653],[131.8115176,118.9283954],[131.823,119.0277343],[131.8344404,119.1271348],[131.8457922,119.2264257],[131.8570986,119.3257849],[131.8683469,119.4251506],[131.8795388,119.5245228],[131.8906714,119.6239016],[131.901747,119.72329],[131.9127653,119.8226828],[131.9237185,119.9220816],[131.9346201,120.021485],[131.9454727,120.1208947],[131.9562611,120.2203113],[131.9669929,120.3197342],[131.9776571,120.4191657],[131.988219,120.5186387],[131.9987813,120.6180797],[132.0093384,120.7174886],[132.0197872,120.8169383],[132.0301807,120.9163971],[132.0405234,121.0158663],[132.0508032,121.1153398],[132.0610296,121.214816],[132.0712002,121.3142982],[132.0813157,121.4137858],[132.0913762,121.5132789],[132.1013762,121.6127786],[132.1113336,121.7122824],[132.1212313,121.8117916],[132.1310727,121.9113065],[132.1408598,122.0108267],[132.1505938,122.1103507],[132.160272,122.2098799],[132.1698965,122.3094159],[132.1794673,122.408957],[132.1889878,122.508503],[132.19845,122.6080535],[132.2078619,122.7076096],[132.2172158,122.8071644],[132.2265235,122.9067292],[132.2356118,123.0064073],[132.2449672,123.1058779],[132.2541052,123.2054594],[132.2631969,123.3050452],[132.2722518,123.4046306],[132.2812415,123.5042256],[132.290179,123.6038298],[132.2990638,123.7034341],[132.307897,123.803043],[132.3163044,123.9029487],[132.3251486,124.0027739],[132.3337174,124.1021863],[132.3427165,124.2015231],[132.3512914,124.30115],[132.3598174,124.4007855],[132.3682922,124.5004255],[132.3767169,124.6000696],[132.3850903,124.6997132],[132.3934146,124.7993657],[132.4016764,124.8990241],[132.4099133,124.9986839],[132.4180963,125.0983473],[132.4262211,125.1980166],[132.4343014,125.2976859],[132.4423279,125.3973629],[132.450305,125.4970437],[132.4580454,125.5967283],[132.4660979,125.696417],[132.4739259,125.7961085],[132.4817048,125.8958047],[132.4894444,125.9955059],[132.4971275,126.0952106],[132.5047622,126.1949179],[132.5123488,126.2946288],[132.5198927,126.3943437],[132.5273842,126.4940618],[132.5348323,126.593786],[132.5422242,126.6935114],[132.5495823,126.7932407],[132.5568856,126.8929731],[132.5641416,126.9927086],[132.571351,127.0924477],[132.5785139,127.1921903],[132.5856306,127.2919363],[132.5927105,127.3916855],[132.59973,127.4914356],[132.6067087,127.5913229],[132.6134875,127.6911263],[132.6203761,127.7908884],[132.6274106,127.8906535],[132.6342312,127.9906023],[132.6409089,128.0901507],[132.6476178,128.1897963],[132.6542789,128.289573],[132.6608944,128.389354],[132.6674707,128.4891364],[132.6740032,128.5889324],[132.6804887,128.6887217],[132.6869301,128.7885144],[132.693328,128.8883093],[132.6996246,128.9881073],[132.7059358,129.087908],[132.7121952,129.1877114],[132.7184285,129.2875162],[132.7246676,129.387325],[132.7307971,129.4871365],[132.7369038,129.5869507],[132.7429673,129.6867737],[132.7489634,129.7865786],[132.7549338,129.8864006],[132.7608638,129.9862225],[132.7667504,130.0860482],[132.7725957,130.1858777],[132.7784152,130.2857071],[132.7841779,130.3855416],[132.7898992,130.4853784],[132.7955742,130.5852176],[132.8012193,130.6850591],[132.8068175,130.7849031],[132.8123775,130.8847492],[132.8178963,130.9845975],[132.8229684,131.0844481],[132.8288147,131.1843012],[132.8342137,131.2841549],[132.8395732,131.3840119],[132.8448887,131.4838711],[132.8501743,131.583732],[132.8554161,131.6835954],[132.860619,131.7834608],[132.8656557,131.8833282],[132.870908,131.9831976],[132.8759941,132.0830692],[132.8810429,132.1829426],[132.8860545,132.2828179],[132.8910273,132.3826952],[132.895961,132.4825763],[132.9006038,132.5824603],[132.9054662,132.6823374],[132.9105311,132.7822219],[132.9153056,132.8821086],[132.9200538,132.9819967],[132.9247799,133.0818856],[132.9294554,133.1817785],[132.9340946,133.2816718],[132.9386976,133.3815651],[132.9432569,133.4814616],[132.9477877,133.5813598],[132.9522822,133.6812596],[132.9567417,133.7811609],[132.9611652,133.8810638],[132.9655541,133.9809683],[132.9699066,134.0808728],[132.9742254,134.1807806],[132.9785095,134.2806895],[132.982759,134.3806],[132.9868059,134.4805118],[132.9909918,134.5804249],[132.9951532,134.6803397],[132.9994308,134.7802556],[133.0035037,134.8801727],[133.0075487,134.9800975],[133.0115688,135.0800179],[133.0155485,135.1799374],[133.0194935,135.2798605],[133.0233476,135.3797853],[133.0272274,135.4797543],[133.0307188,135.5799442],[133.0344955,135.6796731],[133.0386719,135.7795628],[133.0424272,135.8794952],[133.0461477,135.9794274],[133.0498198,136.0793479],[133.0534769,136.1792473],[133.0571018,136.2791817],[133.0606956,136.3791171],[133.0642554,136.4790539],[133.0677875,136.5789914],[133.071289,136.6789302],[133.074758,136.7788701],[133.0782053,136.8788156],[133.0816148,136.9787565],[133.0849981,137.0786988],[133.0883344,137.1786432],[133.0916543,137.2785738],[133.0949619,137.3785187],[133.0982163,137.4784543],[133.1014502,137.5784017],[133.1046774,137.6783477],[133.1078465,137.7782928],[133.1109941,137.8782427],[133.1141133,137.9781935],[133.1172207,138.0781393],[133.1202841,138.1780918],[133.1233189,138.2780451],[133.1263259,138.3779991],[133.1293049,138.4779543],[133.1322562,138.5779087],[133.1351807,138.6778652],[133.1380779,138.7778225],[133.1409481,138.8777806],[133.1437914,138.9777389],[133.1466361,139.0776984],[133.1494257,139.1776591],[133.1521909,139.2776201],[133.1549232,139.3775818],[133.1576319,139.4775437],[133.1603156,139.5775074],[133.1629728,139.6774711],[133.1655396,139.7774356],[133.1681462,139.8774032],[133.1707261,139.9773692],[133.1732816,140.07734],[133.1758767,140.1773075],[133.1783834,140.2772762],[133.1808648,140.3772443],[133.1833207,140.477213],[133.1857528,140.5771808],[133.1881764,140.6771507],[133.1905589,140.7771222],[133.1929165,140.8770953],[133.1952519,140.9770958],[133.1975641,141.0770684],[133.1998502,141.1770402],[133.2021143,141.277015],[133.2043564,141.3769899],[133.2065748,141.4769653],[133.2087692,141.5769413],[133.210945,141.6771326],[133.2131861,141.777218],[133.2153132,141.8771934],[133.2173272,141.9770597],[133.2193932,142.0768024],[133.2214539,142.1767813],[133.2235116,142.2767598],[133.2255295,142.3767395],[133.227525,142.4767187],[133.2294874,142.5767016],[133.2314401,142.6766826],[133.2333868,142.7766623],[133.2352988,142.8766441],[133.2370322,142.9767445],[133.2389115,143.0767259],[133.2406749,143.1767121],[133.2427256,143.276576],[133.2445354,143.3765614],[133.2463236,143.4765457],[133.248092,143.5765303],[133.24984,143.6765172],[133.2515697,143.7765022],[133.2532634,143.8765666],[133.2549349,143.9765533],[133.2566041,144.0765392],[133.2582714,144.176522],[133.2599056,144.2765088],[133.2615385,144.3764167],[133.2631327,144.4764044],[133.2647099,144.5763922],[133.2663881,144.6766064],[133.2679312,144.7765931],[133.2690455,144.8766157],[133.2708389,144.9763434],[133.2723258,145.0763314],[133.2737989,145.17632],[133.2752512,145.2763096],[133.2766861,145.3762995],[133.2780942,145.4762898],[133.2794946,145.5762805],[133.2808866,145.6762711],[133.2819024,145.7763002],[133.2833085,145.8765507],[133.2849231,145.9762143],[133.2861138,146.0762095],[133.2875418,146.176202],[133.2888449,146.2761933],[133.2901068,146.376186],[133.2913433,146.4761925],[133.2926009,146.576186],[133.2938232,146.6761797],[133.2950301,146.7761736],[133.2962217,146.8761677],[133.2973982,146.976162],[133.2985595,147.0761568],[133.2996838,147.176151],[133.3008381,147.276146],[133.3019551,147.376141],[133.3030593,147.4761362],[133.3041476,147.5761316],[133.3052169,147.6761153],[133.3062209,147.7761112],[133.30734,147.8761046],[133.3083717,147.9760983],[133.3093733,148.0760944],[133.3103773,148.1760907],[133.31138,148.2760871],[133.3123627,148.3760836],[133.3133271,148.4760803],[133.3142784,148.5760771],[133.3152173,148.6760738],[133.3161431,148.7760723],[133.3170541,148.8760696],[133.3179541,148.9760669],[133.3188411,149.0760647],[133.3197159,149.1760625],[133.3205785,149.2760601],[133.3213415,149.3760578],[133.3222702,149.4760557],[133.3230966,149.5760535],[133.3239114,149.6760515],[133.3247163,149.776049],[133.3255077,149.876047],[133.3262878,149.9760797],[133.3270697,150.0760874],[133.3278268,150.1760857],[133.3285727,150.2760837],[133.3292126,150.3762048],[133.3300764,150.4762451],[133.3306462,150.5762335],[133.3313343,150.6761985],[133.3320262,150.7761974],[133.3327671,150.8761544],[133.3334763,150.9760309],[133.3341369,151.0760294],[133.3347682,151.176028],[133.3354061,151.2760286],[133.3360566,151.3760257],[133.3366786,151.4760216],[133.3372894,151.5760203],[133.3378907,151.6760189],[133.3384824,151.7760176],[133.3390563,151.8760218],[133.3395348,151.9760151],[133.3401067,152.0760126],[133.3406825,152.1760114],[133.3412276,152.2760155],[133.3418334,152.3760136],[133.342361,152.4760117],[133.3428778,152.5769494],[133.3433879,152.6760094],[133.3438896,152.7760084],[133.3443828,152.8760072],[133.3448799,152.9760206],[133.3453565,153.0760194],[133.3458256,153.1760187],[133.3462861,153.2760175],[133.3465777,153.3760163],[133.3471484,153.4760151],[133.3476122,153.576014],[133.3480414,153.6760127],[133.3483169,153.7760113],[133.3487289,153.8760104],[133.3491263,153.9760063],[133.3495268,154.0760027],[133.3499215,154.1759631],[133.3503082,154.2759628],[133.3506881,154.3759624],[133.3510608,154.4759616],[133.3514307,154.5759609],[133.3517907,154.675961],[133.352136,154.7759589],[133.35248,154.8759494],[133.3528291,154.9759491],[133.3531614,155.0759487],[133.3534897,155.1759482],[133.353811,155.2759466],[133.3541273,155.3759442],[133.3545406,155.4759439],[133.3547368,155.5759434],[133.3550605,155.6759432],[133.355429,155.7759429],[133.3557009,155.8759416],[133.3559791,155.9759414],[133.3562636,156.0759419],[133.3565521,156.1759396],[133.3568145,156.27594],[133.3570719,156.3759398],[133.3573252,156.4759394],[133.3575716,156.5759393],[133.3577215,156.6759414],[133.3580596,156.7759354],[133.3582912,156.8759353],[133.3585179,156.9759352],[133.3587398,157.0759351],[133.3588229,157.1760177],[133.3590352,157.2760173],[133.3593776,157.3759347],[133.3595811,157.4759346],[133.3596522,157.57605],[133.3599755,157.6759343],[133.3601661,157.7759341],[133.3603525,157.8759334],[133.3605347,157.9759333],[133.3607116,158.0759502],[133.3608687,158.1760291],[133.3610389,158.2760291],[133.3612053,158.3760291],[133.3613478,158.4760306],[133.361506,158.5760304],[133.3616784,158.6760306],[133.361845,158.7759542],[133.3620594,158.8762508],[133.3621376,158.9759371],[133.3622796,159.0759367],[133.3624179,159.1759363],[133.3625518,159.2759361],[133.3626817,159.3759359],[133.3627915,159.4759521],[133.3629149,159.5759521],[133.3630585,159.6759522],[133.3631626,159.7759539],[133.3632768,159.8759539],[133.3633611,159.9759572],[133.363513,160.0759516],[133.3636197,160.1759514],[133.363732,160.275957],[133.3637102,160.3765445],[133.3639326,160.4759564],[133.3640278,160.5759585],[133.3641177,160.6759415],[133.3641786,160.7759427],[133.3642572,160.8759357],[133.3643749,160.975934],[133.3644585,161.0759339],[133.3645398,161.1759338],[133.3646185,161.2759322],[133.364695,161.375932],[133.3647698,161.4759354],[133.3648347,161.575938],[133.364904,161.6759381],[133.3649816,161.7759364],[133.3650449,161.8759352],[133.3651088,161.9759351],[133.3651709,162.0759351],[133.365231,162.1759351],[133.3652113,162.2759961],[133.3652679,162.3759966],[133.365295,162.4759954],[133.3654249,162.5759351],[133.3655027,162.6759334],[133.3655527,162.7759335],[133.365601,162.8759318],[133.3656452,162.9759322],[133.3656916,163.0759323],[133.3657251,163.1759785],[133.3657728,163.2759332],[133.3657902,163.375946],[133.3658283,163.4759463],[133.3658312,163.5759472],[133.3658683,163.6759472],[133.3659388,163.7759503],[133.365972,163.8759506],[133.366004,163.975951],[133.3660347,164.0759514],[133.366065,164.1759407],[133.366097,164.2759411],[133.3661247,164.3759416],[133.3661505,164.4759422],[133.366176,164.5759426],[133.3662019,164.6759438],[133.3662267,164.7759447],[133.3662449,164.8759414],[133.3662703,164.9759409],[133.3661778,165.0759477],[133.3663165,165.1759423],[133.3663541,165.2759403],[133.3663726,165.3759406],[133.3663136,165.4760748],[133.3663332,165.5760765],[133.3663495,165.6760764],[133.3663655,165.7760768],[133.3664081,165.8759771],[133.3664213,165.97598],[133.3664345,166.0759805],[133.3664904,166.1759426],[133.3665043,166.2759429],[133.3665154,166.3759431],[133.3665261,166.4759434],[133.3665243,166.5759436],[133.3665302,166.6759439],[133.3665513,166.7759404],[133.3665593,166.8759399],[133.3665671,166.975939],[133.3664735,167.0760525],[133.3664899,167.1763057],[133.3664171,167.2763072],[133.3664229,167.3759401],[133.3664282,167.4759401],[133.3664333,167.5759402],[133.3664248,167.6759557],[133.3663948,167.7759638],[133.366411,167.8759618],[133.3664381,167.9759409],[133.3664412,168.0761811],[133.366445,168.1759403],[133.3664476,168.2759682],[133.3664307,168.3759693],[133.3664334,168.4759715],[133.3664328,168.5759731],[133.3664534,168.6759751],[133.3664314,168.775977],[133.3664323,168.8759789],[133.3664609,168.9759829],[133.3664729,169.075984],[133.3664752,169.1759857],[133.3664227,169.2759881],[133.366463,169.3759897],[133.3664801,169.4759919],[133.3664822,169.5759939],[133.3664671,169.6759944],[133.3664669,169.7760061],[133.3664853,169.8760076],[133.3664889,169.9760091],[133.3664894,170.0760215],[133.3664428,170.1760119],[133.3664432,170.2760131],[133.3664437,170.3760129],[133.3664902,170.4760139],[133.3664903,170.5760027],[133.3664728,170.6760037],[133.3664728,170.776005],[133.3664704,170.8760059],[133.3664706,170.9760069],[133.366432,171.0760079],[133.3664304,171.1760096],[133.3664696,171.2760137],[133.3664694,171.3760135],[133.36647,171.4760197],[133.3664726,171.5760107],[133.3664724,171.6760111],[133.3664895,171.7760114],[133.3664894,171.8759304],[133.3664795,171.975932],[133.3664883,172.0759302],[133.3664877,172.1759302],[133.3664735,172.2760381],[133.366473,172.3760379],[133.3664727,172.4760372],[133.3664722,172.576037],[133.366467,172.6760002],[133.3664663,172.7760001],[133.3664775,172.8759302],[133.3664767,172.9759302],[133.3664649,173.0759785],[133.3664488,173.1759925],[133.366453,173.2759474],[133.3666765,173.3759475],[133.3666762,173.4759473],[133.3667026,173.5759477],[133.3663248,173.6762908],[133.3666174,173.7760041],[133.3666179,173.8758959],[133.3666191,173.9759028],[133.3666992,174.0759099],[133.3666938,174.1759174],[133.3666542,174.2759253],[133.3666545,174.3759334]]};function l3(e){let t=e.points.map(o=>{if(!o||o.length<2)throw new Error("PointCloud entry must be [x, y]");return [o[0],o[1]]});return Object.freeze({lengthMm:e.lengthMm,samplingMm:e.samplingMm,points:Object.freeze(t)})}s(l3,"freeze");var je={AT2050_180_COMBINED:l3($9),AT2050_0500_HALF:l3(e5),AT2050_0501_HALF:l3(t5)};function Ne(e){return je[e]}s(Ne,"getPointCloud");function ro(e,t){je[e]=t;}s(ro,"registerPointCloud");function no(e){return e in je?(delete je[e],true):false}s(no,"unregisterPointCloud");var io=[1,0,0];function so(e){return {positionMm:[e,0,0],tangent:io,yawDeg:0}}s(so,"sampleStraight");function ao(e,t,o){let r=Math.sign(t)||1,n=e/o,i=Math.cos(n),a=Math.sin(n);return {positionMm:[o*a,-r*o*(1-i),0],tangent:[i,-r*a,0],yawDeg:-r*n*180/Math.PI}}s(ao,"sampleCurve");function lo(e,t){let o=Ne(t);if(!o)throw new z("invalid-config",`Unknown point-cloud id "${t}". Did you forget to register it via registerPointCloud()?`,{freePathId:t});let r=o.samplingMm,n=o.points.length,i=e/r,a=Math.max(0,Math.min(Math.floor(i),n-2)),l=i-a,c=o.points[a],m=o.points[a+1],u=c[0]+(m[0]-c[0])*l,p=c[1]+(m[1]-c[1])*l,d=m[0]-c[0],f=m[1]-c[1],M=Math.hypot(d,f)||1,g=d/M,h=f/M;return {positionMm:[u,-p,0],tangent:[g,-h,0],yawDeg:Math.atan2(-h,g)*180/Math.PI}}s(lo,"sampleFree");function m1(e,t){let o=Math.max(0,Math.min(t,e.moduleLengthMm));switch(e.pathType){case "Straight":return so(o);case "Curve":{if(e.centerlineRadiusMm==null)throw new z("invalid-config",`Curve module "${e.moduleType}" is missing centerlineRadiusMm.`,{moduleType:e.moduleType});return ao(o,e.endAngleDeg,e.centerlineRadiusMm)}case "Free":{if(!e.freePathId)throw new z("invalid-config",`Free module "${e.moduleType}" is missing freePathId.`,{moduleType:e.moduleType});return lo(o,e.freePathId)}}}s(m1,"sampleModulePath");function c3(e){switch(e.pathType){case "Straight":return {deltaPositionMm:[e.moduleLengthMm,0,0],deltaYawDeg:0};case "Curve":{let t=e.endAngleDeg,o=e.centerlineRadiusMm,r=Math.abs(t)*Math.PI/180,n=Math.sign(t)||1;return {deltaPositionMm:[o*Math.sin(r),-n*o*(1-Math.cos(r)),0],deltaYawDeg:-t}}case "Free":{if(!e.freePathId)throw new z("invalid-config",`Free module "${e.moduleType}" is missing freePathId.`,{moduleType:e.moduleType});let t=Ne(e.freePathId);if(!t)throw new z("invalid-config",`Unknown point-cloud id "${e.freePathId}" for module "${e.moduleType}".`,{moduleType:e.moduleType,freePathId:e.freePathId});let o=t.points[t.points.length-1];return {deltaPositionMm:[o[0],-o[1],0],deltaYawDeg:-e.endAngleDeg}}}}s(c3,"moduleEndDelta");var o5=Object.freeze({positionMm:[0,0,0],yawDeg:0});function co(e,t,o){let r=Math.cos(o*j),n=Math.sin(o*j);return [r*e-n*t,n*e+r*t]}s(co,"rotateXY");function r5(e,t){let[o,r]=co(t.positionMm[0],t.positionMm[1],e.yawDeg);return {positionMm:[e.positionMm[0]+o,e.positionMm[1]+r,e.positionMm[2]+t.positionMm[2]],yawDeg:e.yawDeg+t.yawDeg}}s(r5,"composePose");function Z(e){let t=0,o=o5,r=[];for(let n=0;n<e.length;n++){let i=e[n],a=Z1(i.moduleType);if(!a)throw new z("unknown-module-type",`Unknown moduleType "${i.moduleType}" at index ${n}`,{index:n,moduleType:i.moduleType});let l=a.moduleLengthMm,c=o;r.push({moduleType:i.moduleType,catalog:a,status:i.status,globalNumber:i.globalNumber,startWorldPose:c,startPositionInPartMm:t,trackLengthMm:l}),t+=l;let m=c3(a),u={positionMm:m.deltaPositionMm,yawDeg:m.deltaYawDeg};o=r5(o,u);}return {modules:r,trackLengthMm:t,endPose:o}}s(Z,"buildChain");function n5(e,t){if(e.modules.length===0)return null;let o=Math.max(0,Math.min(t,e.trackLengthMm));if(o>=e.trackLengthMm){let r=e.modules[e.modules.length-1];return {module:r,localPosMm:r.trackLengthMm}}for(let r of e.modules)if(o<r.startPositionInPartMm+r.trackLengthMm)return {module:r,localPosMm:o-r.startPositionInPartMm};throw new z("invalid-config",`findModuleAt: pos=${o} did not land in any module; chain.modules is inconsistent.`,{pos:o,trackLengthMm:e.trackLengthMm,moduleCount:e.modules.length})}s(n5,"findModuleAt");function t1(e,t){let o=n5(e,t);if(!o)return null;let{module:r,localPosMm:n}=o,i=m1(r.catalog,n),a={positionMm:i.positionMm,yawDeg:i.yawDeg};return r5(r.startWorldPose,a)}s(t1,"moverWorldAt");function mo(e){return Z(e).trackLengthMm}s(mo,"trackLengthOf");function K(e,t){if(!t)return e;let o=t.direction==="negative"?-1:1;return (t.originMm??0)+o*e}s(K,"userToChainPositionMm");function O1(e,t){return t?(t.direction==="negative"?-1:1)*(e-(t.originMm??0)):e}s(O1,"chainToUserPositionMm");function Y1(e,t,o){let r=t.stopPositionsRelativeTo==="station"?t.startPositionOnPart+e:e;return K(r,o)}s(Y1,"resolveStopPositionMm");function i5(e,t){let o=t?.direction==="negative";return {userStartChainMm:o?e:0,userEndChainMm:o?0:e}}s(i5,"chainEndpointsForPart");function P2(e,t,o){if(o!==void 0){let r=e.parts.find(n=>n.objectId===o);if(r)return r}return e.parts.find(r=>r.globalNumber===t)}s(P2,"resolveMoverPart");function Ue(e,t,o,r){let n=e.processingUnits.find(d=>d.objectId===t.processingUnitObjectId);if(!n)return null;let i=n.movers.find(d=>d.index===t.moverIndex);if(!i)return null;let a=P2(n,i.partOid,r?.getPartObjectId?.(i.id));if(!a)return null;let l=r?.getPositionMm?.(i.id)??i.partPositionMm,c=K(l,n.positionFrame),m=t1(Z(a.modules),c);if(!m)return null;let u=_1(e.orientation,x1(n,o),a.partTransformation),p=new three.Vector3(m.positionMm[0],m.positionMm[1],m.positionMm[2]).applyMatrix4(u);return {xpu:n,mover:i,part:a,chainPositionMm:c,positionMm:[p.x,p.y,p.z],chainYawDeg:m.yawDeg,matrix:u}}s(Ue,"resolveMoverPose");function g1(e){let[t,o]=e.endPose.positionMm;if(Math.abs(t)>.1||Math.abs(o)>.1)return false;let r=(e.endPose.yawDeg%360+360)%360;return Math.min(r,360-r)<.1}s(g1,"isChainClosed");var po=0;function ze(e,t,o,r={}){let n=r.warningGapMm??po,i=r.forceClosedLoop??g1(e),a=e.trackLengthMm,l=o.filter(m=>m.partOid===t),c=[];for(let m=0;m<l.length;m++){let u=l[m],p=u.pathLengthMm??b2(u.moverType)?.pathLengthMm??0;if(!(p<=0))for(let d=m+1;d<l.length;d++){let f=l[d],M=f.pathLengthMm??b2(f.moverType)?.pathLengthMm??0;if(M<=0)continue;let g=Math.abs(u.partPositionMm-f.partPositionMm),h=g,y=false;if(i){let A=a-g;A<g&&(h=A,y=true);}let P=(p+M)/2-h;P>=-n&&c.push({a:u.ref,b:f.ref,idA:u.id,idB:f.id,penetrationMm:P,positionAMm:u.partPositionMm,positionBMm:f.partPositionMm,pathLengthAMm:p,pathLengthBMm:M,viaWraparound:y});}}return c.sort((m,u)=>u.penetrationMm-m.penetrationMm),c}s(ze,"checkSamePathCollisions");function m3(e,t,o={}){let r=[];for(let n of e.processingUnits){let i=new Map;for(let a of n.movers){let l={ref:{processingUnitObjectId:n.objectId,moverIndex:a.index},id:a.id,partOid:a.partOid,moverType:n.moverType,partPositionMm:t(a.id)??a.partPositionMm,...n.moverType==="Custom"&&n.customMoverLayout?.pathLengthMm!==void 0?{pathLengthMm:n.customMoverLayout.pathLengthMm}:{}},c=i.get(l.partOid);c?c.push(l):i.set(l.partOid,[l]);}for(let[a,l]of i){if(l.length<2)continue;let c=n.parts.find(m=>m.globalNumber===a);c&&r.push(...ze(Z(c.modules),a,l,o));}}return r.sort((n,i)=>i.penetrationMm-n.penetrationMm),r}s(m3,"checkAllMoverCollisions");var q1=class extends three.Curve{static{s(this,"XtsModuleCurve3");}module;constructor(t){super(),this.module=t;}getPoint(t,o=new three.Vector3){let r=m1(this.module,t*this.module.moduleLengthMm);return o.set(r.positionMm[0],r.positionMm[1],r.positionMm[2])}getTangent(t,o=new three.Vector3){let r=m1(this.module,t*this.module.moduleLengthMm);return o.set(r.tangent[0],r.tangent[1],r.tangent[2]).normalize()}getLength(){return this.module.moduleLengthMm}};function bo(e){let t=Z(e),o=new three.CurvePath;for(let r of t.modules)o.add(new q1(r.catalog));return o.updateArcLengths(),{chain:t,curvePath:o}}s(bo,"buildPartPath");function J1(e,t=new three.Matrix4){let o=new three.Quaternion().setFromAxisAngle(new three.Vector3(0,0,1),e.yawDeg*Math.PI/180);return t.compose(new three.Vector3(e.positionMm[0],e.positionMm[1],e.positionMm[2]),o,new three.Vector3(1,1,1)),t}s(J1,"poseToMatrix4");var ee=Object.freeze({AT2000_0233:{moduleType:"AT2000_0233",glbByRailSystem:{Beckhoff:"AT2000-0233.glb"},originCorrection:{translateMm:[233,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:233,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[17.549999999999915,118329135783152e-43,233.3]}},AT2000_0249:{moduleType:"AT2000_0249",glbByRailSystem:{Beckhoff:"AT2000-0249.glb"},originCorrection:{translateMm:[249,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:249,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,0],max:[17.549999999999915,0,249]}},AT2000_0250:{moduleType:"AT2000_0250",glbByRailSystem:{Beckhoff:"AT2000-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[17.549999999999915,0,250]}},AT2001_0250:{moduleType:"AT2001_0250",glbByRailSystem:{Beckhoff:"AT2001-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-122.35567697317887,0],max:[17.549999999999915,0,250]}},AT2002_0249:{moduleType:"AT2002_0249",glbByRailSystem:{Beckhoff:"AT2002-0249.glb"},originCorrection:{translateMm:[249,19.5,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:249,endAngleDeg:0,approximateBoundsMm:{min:[-55.47512492230701,-140.43398400853,0],max:[19.0498750776926,0,249]}},AT2002_0250:{moduleType:"AT2002_0250",glbByRailSystem:{Beckhoff:"AT2002-0250.glb"},originCorrection:{translateMm:[346,-76.5,-34],rotationDegEuler:[-90,180,90]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-53.1496800886791,-346,-95.9999999999999],max:[21.375319911320506,-95.9999999999999,44.4339840085297]}},AT2020_0250:{moduleType:"AT2020_0250",glbByRailSystem:{Beckhoff:"AT2020-0250.glb"},originCorrection:{translateMm:[0,-636.6198,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:22.5,approximateBoundsMm:{min:[-85265128291212e-26,517.945133211544,-22.55],max:[251.27750824841,656.619772367581,17.55]}},AT2021_0250:{moduleType:"AT2021_0250",glbByRailSystem:{Beckhoff:"AT2021-0250.glb"},originCorrection:{translateMm:[0,-636.6198,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:22.5,approximateBoundsMm:{min:[-85265128291212e-26,496.745254405928,-22.55],max:[251.27750824841,656.619772367581,17.55]}},AT2025_0250:{moduleType:"AT2025_0250",glbByRailSystem:{Beckhoff:"AT2025-0250.glb"},originCorrection:{translateMm:[0,636.5,0],rotationDegEuler:[180,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:-22.5,approximateBoundsMm:{min:[-177635683940025e-27,569.682387032176,-17.55],max:[281.802589752422,712.61977236758,22.55]}},AT2026_0250:{moduleType:"AT2026_0250",glbByRailSystem:{Beckhoff:"AT2026-0250.glb"},originCorrection:{translateMm:[0,636.5,0],rotationDegEuler:[180,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:-22.5,approximateBoundsMm:{min:[-177635683940025e-27,569.682387032176,-18.7],max:[272.707780460855,712.61977236758,23.7]}},AT2040_0250:{moduleType:"AT2040_0250",glbByRailSystem:{Beckhoff:"AT2040-0250.glb"},originCorrection:{translateMm:[0,-318.3099,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-319744231092045e-27,168.03356351737,-22.55],max:[239.221214663007,338.309886183791,17.55]}},AT2041_0250:{moduleType:"AT2041_0250",glbByRailSystem:{Beckhoff:"AT2041-0250.glb"},originCorrection:{translateMm:[0,-318.3099,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-319744231092045e-27,160.255535677803,-22.55],max:[239.221214663007,338.309886183791,17.55]}},AT2050_0500:{moduleType:"AT2050_0500",glbByRailSystem:{Beckhoff:"AT2050-0500.glb"},originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,90,180]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-22.55,-153.35062038607114,-13.6],max:[17.55,153.35,194.4]}},AT2050_0500_180:{moduleType:"AT2050_0500_180",glbByRailSystem:{Beckhoff:"AT2050-0500.glb"},originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,90,180]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-22.55,-153.35062038607114,-13.6],max:[17.55,153.35,194.4]}},AT2100_0250:{moduleType:"AT2100_0250",glbByRailSystem:{Beckhoff:"AT2100-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[29.1499999999999,0,250]}},AT2102_0250:{moduleType:"AT2102_0250",glbByRailSystem:{Beckhoff:"AT2102-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-55.47512492230701,-140.43398400853,0],max:[29.15,0,250]}},AT2200_0500:{moduleType:"AT2200_0500",glbByRailSystem:{Beckhoff:"AT2200-0500.glb"},originCorrection:{translateMm:[500,19.5,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:500,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[17.549999999999915,0,500]}},AT2202_0500:{moduleType:"AT2202_0500",glbByRailSystem:{Beckhoff:"AT2202-0500.glb"},originCorrection:{translateMm:[500,19.5,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:500,endAngleDeg:0,approximateBoundsMm:{min:[-55.578940058985644,-140.254,0],max:[18.9499999999756,0,500]}},ATH2000_0250:{moduleType:"ATH2000_0250",glbByRailSystem:{Beckhoff:"ATH2000-0250.glb",HepcoGfx:"ATH2000-0250-0002.glb"},originCorrection:{translateMm:[125,-72,0],rotationDegEuler:[-90,0,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-162.5,-27.5,-111022302462516e-29],max:[125,17,96]}},ATH2001_0250:{moduleType:"ATH2001_0250",glbByRailSystem:{Beckhoff:"ATH2001-0250.glb",HepcoGfx:"ATH2001-0250-0002.glb"},originCorrection:{translateMm:[125,-72,0],rotationDegEuler:[-90,0,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-162.5,-177,-111022302462516e-29],max:[125,17,96]}},ATH2002_0250:{moduleType:"ATH2002_0250",glbByRailSystem:{Beckhoff:"ATH2002-0250.glb",HepcoGfx:"ATH2002-0250-0002.glb"},originCorrection:{translateMm:[125,-72,0],rotationDegEuler:[-90,0,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-162.5,-64,-113.1356458286208],max:[125,17,96]}},ATH2020_0250:{moduleType:"ATH2020_0250",glbByRailSystem:{Beckhoff:"ATH2020-0250.glb",HepcoGfx:"ATH2020-0250-0002.glb"},originCorrection:{translateMm:[0,-636.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:22.5,approximateBoundsMm:{min:[-17,-37.5,521.64065134159],max:[27.5,252.80824197787,660.619772367582]}},ATH2040_0250:{moduleType:"ATH2040_0250",glbByRailSystem:{Beckhoff:"ATH2040-0250.glb",HepcoGfx:"ATH2040-0250-0002.glb"},originCorrection:{translateMm:[0,-318.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-17,-37.5000000000001,174.167390793845],max:[27.5,242.049641787754,342.309886183791]}},ATH2041_0250:{moduleType:"ATH2041_0250",glbByRailSystem:{Beckhoff:"ATH2041-0250.glb",HepcoGfx:"ATH2041-0250-0002.glb"},originCorrection:{translateMm:[0,-318.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-17,-37.5000000000001,174.167390793845],max:[177,242.049641787754,342.309886183791]}},ATH2042_0250:{moduleType:"ATH2042_0250",glbByRailSystem:{Beckhoff:"ATH2042-0250.glb",HepcoGfx:"ATH2042-0250-0002.glb"},originCorrection:{translateMm:[0,-318.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-17,-37.5000000000001,133.1742403551702],max:[64,242.049641787754,342.309886183791]}},ATH2050_0500:{moduleType:"ATH2050_0500",glbByRailSystem:{Beckhoff:"ATH2050-0500.glb",HepcoGfx:"ATH2050-0500-0002.glb"},originCorrection:{translateMm:[0,-133.5,0],rotationDegEuler:[0,180,90]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-157.350063377838,-37.6000000000002,-27.500000000000004],max:[157.350063377838,198.10008108029504,22.500000000000014]}},ATH2050_0500_180:{moduleType:"ATH2050_0500_180",glbByRailSystem:{Beckhoff:"ATH2050-0500.glb",HepcoGfx:"ATH2050-0500-0002.glb"},originCorrection:{translateMm:[0,-133.5,0],rotationDegEuler:[0,180,90]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-157.350063377838,-37.6000000000002,-27.500000000000004],max:[157.350063377838,198.10008108029504,22.500000000000014]}}}),p3=Object.freeze({AT9014_0055:{moverType:"AT9014_0055",glb:"AT9014-0055-0550.glb",originCorrection:{translateMm:[0,38.5,0],rotationDegEuler:[0,90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:55,approximateBoundsMm:{min:[-35.0000000000003,-93.35,-27.5],max:[35,31.5,27.5]}},AT9014_0070:{moverType:"AT9014_0070",glb:"AT9014-0070-0550.glb",originCorrection:{translateMm:[0,41,0],rotationDegEuler:[0,90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:70,approximateBoundsMm:{min:[-37.0000000000002,-93.3499999999993,-35.00000000000011],max:[37.0000000000002,32.5000000000003,35.00000000000032]}},ATH9011_0075:{moverType:"ATH9011_0075",glb:"ATH9011-0075-0550.glb",originCorrection:{translateMm:[0,49.5,0],rotationDegEuler:[0,-90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:75,approximateBoundsMm:{min:[-46,-70.45,-37.48754345581859],max:[46,41.2,37.48754345581859]}},Hepco_GFX2_1TC_C25:{moverType:"Hepco_GFX2_1TC_C25",glb:"GFX2-1TC-C25.glb",originCorrection:{translateMm:[-7.92,-14.66,-4.26],rotationDegEuler:[180,0,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:54,approximateBoundsMm:{min:[-23.68,-54.59,-34.76],max:[39.52,51.88,50.74]}},Hepco_GFX2_1TC_C34:{moverType:"Hepco_GFX2_1TC_C34",glb:"GFX2-1TC-C34.glb",originCorrection:{translateMm:[-7.92,-14.66,-4.26],rotationDegEuler:[180,0,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:72,approximateBoundsMm:{min:[-32.68,-54.59,-34.76],max:[48.52,51.88,50.74]}},Hepco_GFX2_1TC_M34:{moverType:"Hepco_GFX2_1TC_M34",glb:"GFX2-1TC-M34.glb",originCorrection:{translateMm:[-7.92,-14.66,-4.26],rotationDegEuler:[180,0,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:82,approximateBoundsMm:{min:[-37.68,-54.59,-34.76],max:[53.52,51.88,50.74]}},Hepco_GFX2_1TC_S25:{moverType:"Hepco_GFX2_1TC_S25",glb:"GFX2-1TC-S25.glb",originCorrection:{translateMm:[-7.92,-14.66,-4.26],rotationDegEuler:[180,0,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:100,approximateBoundsMm:{min:[-33.68,-54.59,-34.76],max:[49.52,51.88,50.74]}},Hepco_GFX2_FCC_C25:{moverType:"Hepco_GFX2_FCC_C25",glb:"GFX2-FCC-C25.glb",originCorrection:{translateMm:[27,0,0],rotationDegEuler:[0,-90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:80,approximateBoundsMm:{min:[-50.6,-53.84,-3.1],max:[29.4,45.65,58.1]}},Hepco_GFX2_FCC_M34_10P:{moverType:"Hepco_GFX2_FCC_M34_10P",glb:"GFX2-FCC-M34-10P.glb",originCorrection:{translateMm:[2.02,9.62,2.8],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:102,approximateBoundsMm:{min:[-48.98,-62.94,-26.7],max:[53.02,46.85,56.8]}},Hepco_GFX2_FCC_M34_7P:{moverType:"Hepco_GFX2_FCC_M34_7P",glb:"GFX2-FCC-M34-7P.glb",originCorrection:{translateMm:[1.5,9.28,2.5],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:89,approximateBoundsMm:{min:[-42.58,-62.94,-26.7],max:[46.62,46.85,56.8]}},Hepco_GFX2_FCC_M34:{moverType:"Hepco_GFX2_FCC_M34",glb:"GFX2-FCC-M34.glb",originCorrection:{translateMm:[40.62,-6.9,-45.05],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:80,approximateBoundsMm:{min:[.48,-46.5,-74.25],max:[80.77,63.29,9.25]}},Hepco_GFX2_FCC_M40_10P:{moverType:"Hepco_GFX2_FCC_M40_10P",glb:"GFX2-FCC-M40-10P.glb",originCorrection:{translateMm:[2.02,.59,2.5],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:102,approximateBoundsMm:{min:[-48.98,-60.15,-26.7],max:[53.02,61.35,58.24]}}}),d3=Object.freeze({AT8200_1000_0100:{toolType:"AT8200_1000_0100",glbUrl:"AT8200-1000-0100.glb",originCorrection:{translateMm:[0,0,20],rotationDegEuler:[0,0,90]},defaultOffsetMm:[0,0,30],approximateBoundsMm:{min:[-85.1,-31.85,-23.000000000000004],max:[66.2,30.15000000000001,19.5499999999999]},label:"AT8200-1000-0100"},AT8200_2000_0100:{toolType:"AT8200_2000_0100",glbUrl:"AT8200-2000-0100.glb",originCorrection:{translateMm:[0,20,0],rotationDegEuler:[0,0,90]},defaultOffsetMm:[0,0,30],approximateBoundsMm:{min:[-97.1,-34.50000000000002,-4.800000000000022],max:[21,34.5,36.85]},label:"AT8200-2000-0100"}}),a5=Object.freeze({AT9001_0450:{plateType:"AT9001_0450",glb:"AT9001-0450.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:4,lengthMm:46,approximateBoundsMm:{min:[-23,-0.099582,-45.349998],max:[23,44.198249,17]}},AT9001_0550:{plateType:"AT9001_0550",glb:"AT9001-0550.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:5,lengthMm:49.9,approximateBoundsMm:{min:[-24.950001,-1.7,-45.349998],max:[24.950001,44.200074,17.001442]}},AT9001_0775:{plateType:"AT9001_0775",glb:"AT9001-0775.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:7,lengthMm:74,approximateBoundsMm:{min:[-37,159e-6,-45.349998],max:[37,44.199842,17.001126]}},AT9001_0AA0:{plateType:"AT9001_0AA0",glb:"AT9001-0AA0.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:10,lengthMm:99.9,approximateBoundsMm:{min:[-49.950001,.001189,-45.34897],max:[49.950001,44.198811,17.000052]}},ATH9001_0550_0001:{plateType:"ATH9001_0550_0001",glb:"ATH9001-0550-0001.glb",originCorrection:{translateMm:[0,-6,17.7],rotationDegEuler:[-90,0,-180]},poleCount:5,lengthMm:57,approximateBoundsMm:{min:[-28.5,-53.901125,-14.948926],max:[28.5,18.498344,28.990977]}},ATH9001_0550:{plateType:"ATH9001_0550",glb:"ATH9001-0550.glb",originCorrection:{translateMm:[0,-6,17.7],rotationDegEuler:[-90,0,-180]},poleCount:5,lengthMm:57,approximateBoundsMm:{min:[-28.5,-58.899126,-14.948926],max:[28.5,23.499825,28.990977]}},ATH9001_0AA0:{plateType:"ATH9001_0AA0",glb:"ATH9001-0AA0.glb",originCorrection:{translateMm:[0,-6,17.7],rotationDegEuler:[-90,0,-180]},poleCount:10,lengthMm:107,approximateBoundsMm:{min:[-53.5,-58.898012,-14.951002],max:[53.5,23.499199,28.99257]}}}),f3=Object.freeze({AT9000_0249:{railType:"AT9000_0249",glb:"AT9000-0249-rail.glb",originCorrection:{translateMm:[-25.5,20,0],rotationDegEuler:[0,90,0]},approximateBoundsMm:{min:[-11.1,0,0],max:[11.1,39,274.5]}},AT9000_0250:{railType:"AT9000_0250",glb:"AT9000-0250-rail.glb",originCorrection:{translateMm:[-26,20,0],rotationDegEuler:[0,90,0]},approximateBoundsMm:{min:[-11.1,0,0],max:[11.1,39,276.1]}},AT9000_0500:{railType:"AT9000_0500",glb:"AT9000-0500-rail.glb",originCorrection:{translateMm:[-26,19.5,0],rotationDegEuler:[0,90,0]},approximateBoundsMm:{min:[-11.1,0,0],max:[11.1,39,526.1]}},AT9020_1250_0170:{railType:"AT9020_1250_0170",glb:"AT9020-1250-0170-rail.glb",originCorrection:{translateMm:[190.32,-2.01,-555.33],rotationDegEuler:[0,0,159.347]}},AT9020_1250:{railType:"AT9020_1250",glb:"AT9020-1250-rail.glb",originCorrection:{translateMm:[269.56,-139.9,-27.06],rotationDegEuler:[0,0,159.371]},approximateBoundsMm:{min:[-618.58,-135.7,15.96],max:[324.44,588.62,38.16]}},AT9025_1466_0170:{railType:"AT9025_1466_0170",glb:"AT9025-1466-0170-rail.glb",originCorrection:{translateMm:[316.16,757.55,-107.97],rotationDegEuler:[0,0,113.758]}},AT9025_1466:{railType:"AT9025_1466",glb:"AT9025-1466-rail.glb",originCorrection:{translateMm:[337,791.94,-97.49],rotationDegEuler:[0,0,113.754]},approximateBoundsMm:{min:[-624.05,-246.57,86.39],max:[223.27,632.05,108.59]}},AT9040_0750:{railType:"AT9040_0750",glb:"AT9040-0750-rail.glb",originCorrection:{translateMm:[-0.07,39.38,3.5],rotationDegEuler:[0,0,180]},approximateBoundsMm:{min:[-377.31,-19.5,-14.6],max:[247.4,386.51,7.6]}},AT9050_0500_0170:{railType:"AT9050_0500_0170",glb:"AT9050-0500-0170-rail.glb",originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,0,0]}},AT9050_0500:{railType:"AT9050_0500",glb:"AT9050-0500-rail.glb",originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,0,0]},approximateBoundsMm:{min:[-28.8,-192.35,-11.1],max:[234.3,192.35,11.1]}},HepcoGfx:{railType:"HepcoGfx",kind:"procedural-rail-profile",profile:{baseplateWidthMm:135,baseplateThicknessMm:30,baseplateTopZMm:-46.5,baseplateOuterExtentMm:16.65,baseplateSlotDepthMm:15,baseplateSlotLengthMm:104.78,baseplateSlotPitchMm:250,railWidthMm:44,railHeightMm:15.6,railTopZMm:-30.9,spearBaseHalfHeightMm:3.1,apexFlatHeightMm:.52,vFlankAngleDeg:35,railWingHeightMm:9.28,railWingInnerHalfWidthMm:15.88,topGrooveWidthMm:28.58,topGrooveDepthMm:.6,topGrooveFilletMm:.75,neckRoundCentreMm:[14.5,7.542],neckRoundRadiusMm:2.243,neckWaistCentreMm:[16.49,5.71],neckWaistRadiusMm:4.81,neckJunctionMm:[13.73,9.65],footOuterHalfWidthMm:13,footTopHeightMm:2.4,footChamferMm:.4,channelHalfWidthMm:4,channelHeightMm:3,bracketWidthMm:40,bracketHeightMm:73.8,bracketBaseHeightMm:33.8,bracketWallWidthMm:15,bracketOuterOffsetMm:61,stackYOffsetMm:-13,stackZOffsetMm:-9,spearProtrusionMm:5,undercutInsetMm:3}}});function Ve(e){return {minZMm:0,maxZMm:e}}s(Ve,"coarseHeightSpan");function c5(e){let t=e.approximateBoundsMm;if(!t)return null;let[o,r,n]=e.originCorrection.rotationDegEuler,i=new three.Matrix4().makeRotationFromEuler(new three.Euler(o*j,r*j,n*j,"XYZ")).setPosition(new three.Vector3(...e.originCorrection.translateMm)),a=1/0,l=-1/0,c=new three.Vector3;for(let m of [t.min[0],t.max[0]])for(let u of [t.min[1],t.max[1]])for(let p of [t.min[2],t.max[2]])c.set(m,u,p).applyMatrix4(i),c.z<a&&(a=c.z),c.z>l&&(l=c.z);return !Number.isFinite(a)||!Number.isFinite(l)||l-a<=0?null:{minZMm:a,maxZMm:l}}s(c5,"heightSpanOf");function g3(e,t){let o=ee[e];return (o?c5(o):null)??Ve(t)}s(g3,"moduleHeightSpan");var u5=50,p5=100,Co=0,S2=1e-9,xo=50;function vo(e,t,o,r){let n=e.elements,i=new three.Vector3(n[0],n[1],n[2]),a=new three.Vector3(n[4],n[5],n[6]),l=new three.Vector3(n[8],n[9],n[10]),c=i.length(),m=a.length(),u=l.length();if(c<S2||m<S2||u<S2)return null;let p=i.multiplyScalar(1/c),d=a.multiplyScalar(1/m),f=l.multiplyScalar(1/u),M=new three.Vector3(n[12],n[13],n[14]),g=[t*c,o*m,r*u],h=Math.hypot(g[0],g[1],g[2]);return {center:M,axes:[p,d,f],halfExtents:g,radius:h}}s(vo,"obbFromCenteredMatrix");function Ao(e,t,o,r){let n=e.catalog,i=n.moduleLengthMm;if(i<=S2)return [];let a=t.clone().multiply(J1(e.startWorldPose)),l=n.pathType==="Straight"?1:Math.max(1,Math.ceil(i/xo)),c=(r.maxZMm-r.minZMm)/2,m=(r.maxZMm+r.minZMm)/2,u=[];for(let p=0;p<l;p++){let d=i*p/l,f=i*(p+1)/l,M=m1(n,d).positionMm,g=m1(n,f).positionMm,h=g[0]-M[0],y=g[1]-M[1],v=Math.hypot(h,y);if(v<S2)continue;let P=Math.atan2(y,h)/j,A=J1({positionMm:[(M[0]+g[0])/2,(M[1]+g[1])/2,m],yawDeg:P}),b=a.clone().multiply(A),T=v/2,x=vo(b,T,o,c);x&&u.push(x);}return u}s(Ao,"buildModuleObbs");function d5(e,t,o={}){let r=o.halfWidthMm??u5,n=o.heightMm===void 0?null:Ve(o.heightMm),i=new Map,a=[],l=new Map;for(let c of t)if(c.trackTransform?.visible!==false)for(let m of c.parts){if(m.partTransformation?.visible===false)continue;let u=_1(e,c.trackTransform,m.partTransformation);l.set(m.partKey,{count:m.chain.modules.length,closed:g1(m.chain)});for(let p=0;p<m.chain.modules.length;p++){let d=m.chain.modules[p],f=n??i.get(d.moduleType);f||(f=g3(d.moduleType,p5),i.set(d.moduleType,f));let M=Ao(d,u,r,f);if(M.length===0)continue;let{center:g,radius:h}=Po(M),y={ref:{processingUnitObjectId:c.xpuObjectId,partObjectId:m.partObjectId,moduleIndex:p},moduleType:d.moduleType,partKey:m.partKey,moduleIndex:p,obbs:M,sphereCenter:g,sphereRadius:h};d.globalNumber!==void 0&&(y.globalNumber=d.globalNumber),a.push(y);}}return {probes:a,adjacency:l}}s(d5,"buildModuleProbes");function Po(e){let t=new three.Vector3;for(let r of e)t.add(r.center);t.multiplyScalar(1/e.length);let o=0;for(let r of e)o=Math.max(o,t.distanceTo(r.center)+r.radius);return {center:t,radius:o}}s(Po,"boundingSphere");function m5(e,t){return e.halfExtents[0]*Math.abs(e.axes[0].dot(t))+e.halfExtents[1]*Math.abs(e.axes[1].dot(t))+e.halfExtents[2]*Math.abs(e.axes[2].dot(t))}s(m5,"projectRadius");function So(e,t,o,r){let n=[e.axes[0],e.axes[1],e.axes[2],t.axes[0],t.axes[1],t.axes[2]];for(let l of e.axes)for(let c of t.axes){let m=new three.Vector3().crossVectors(l,c);m.lengthSq()>S2&&n.push(m.normalize());}let i=-1/0,a=n[0];for(let l of n){let m=Math.abs(o.dot(l))-(m5(e,l)+m5(t,l));if(m>r)return null;m>i&&(i=m,a=l);}return {overlapMm:-i,axis:a}}s(So,"obbOverlap");function Oo(e,t){return e.processingUnitObjectId!==t.processingUnitObjectId?e.processingUnitObjectId<t.processingUnitObjectId:e.partObjectId!==t.partObjectId?e.partObjectId<t.partObjectId:e.moduleIndex<t.moduleIndex}s(Oo,"refLess");function f5(e,t,o={}){let r=o.warningGapMm??Co,n=o.includeSamePart??true,i=Math.max(0,r),a=[];for(let l=0;l<e.length;l++){let c=e[l];for(let m=l+1;m<e.length;m++){let u=e[m];if(c.partKey===u.partKey){if(!n||Math.abs(c.moduleIndex-u.moduleIndex)===1)continue;let P=t.get(c.partKey);if(P?.closed){let A=Math.min(c.moduleIndex,u.moduleIndex),b=Math.max(c.moduleIndex,u.moduleIndex);if(A===0&&b===P.count-1)continue}}if(c.sphereCenter.distanceTo(u.sphereCenter)>c.sphereRadius+u.sphereRadius+i)continue;let p=-1/0,d=null,f=0;for(let v of c.obbs)for(let P of u.obbs){let A=new three.Vector3().subVectors(P.center,v.center),b=A.length();if(b>v.radius+P.radius+i)continue;let T=So(v,P,A,i);T&&T.overlapMm>p&&(p=T.overlapMm,d=T.axis,f=b);}if(!d||p<-i)continue;let M=Oo(c.ref,u.ref),g=M?c:u,h=M?u:c,y={a:g.ref,b:h.ref,moduleTypeA:g.moduleType,moduleTypeB:h.moduleType,overlapMm:p,centerDistanceMm:f,axis:[d.x,d.y,d.z]};g.globalNumber!==void 0&&(y.globalNumberA=g.globalNumber),h.globalNumber!==void 0&&(y.globalNumberB=h.globalNumber),a.push(y);}}return a.sort((l,c)=>c.overlapMm-l.overlapMm),a}s(f5,"checkModuleCollisions");function g5(e,t){return e.processingUnits.map(o=>{let r=x1(o,t),n=[];for(let i of o.parts)try{n.push({partObjectId:i.objectId,partKey:i.globalNumber,...i.partTransformation?{partTransformation:i.partTransformation}:{},chain:Z(i.modules)});}catch(a){console.error(`[XtsViewer3D] part ${i.globalNumber} (XPU ${o.objectId}) could not be built and is excluded from module collision detection:`,a);}return {xpuObjectId:o.objectId,...r?{trackTransform:r}:{},parts:n}})}s(g5,"toModuleCollisionInputs");function te(e,t,o,r={}){let{probes:n,adjacency:i}=d5(t,g5(e,o),r);return f5(n,i,r)}s(te,"checkAllModuleCollisions");var Fo="#FF6600";function M5(e,t,o){let r=e??[];return t?[...r,{moduleTypes:[...N0],color:o??Fo}]:r.length>0?r:void 0}s(M5,"resolveModuleHighlights");function _o(e,t){return "infeedModuleGlobalNumber"in e?t.infeedModuleGlobalNumber!==void 0&&t.infeedModuleGlobalNumber===e.infeedModuleGlobalNumber:e.partObjectId===t.partObjectId&&e.segmentIndex===t.segmentIndex}s(_o,"matchesFeedSegment");function h5(e,t){let o=new Map;if(!t||t.length===0)return o;for(let r of t)for(let n of r.segments)for(let i of e){if(!_o(n,i))continue;let a=o.get(i.partObjectId);a||(a=new Map,o.set(i.partObjectId,a));for(let l of i.moduleIndices)a.has(l)||a.set(l,r.color);}return o}s(h5,"resolveFeedSegmentColors");var b5=[Math.PI/2,0,0];function y5(e){switch(e){case "linear":return three.LinearToneMapping;case "reinhard":return three.ReinhardToneMapping;case "cineon":return three.CineonToneMapping;case "agx":return three.AgXToneMapping;case "none":return three.NoToneMapping;default:return three.ACESFilmicToneMapping}}s(y5,"resolveToneMapping");function M3(e){let t=[];for(let o of e.processingUnits)for(let r of o.movers)t.push({processingUnitObjectId:o.objectId,moverIndex:r.index,id:r.id,partOid:r.partOid,partPositionMm:r.partPositionMm,...r.status?{status:r.status}:{}});return {movers:t}}s(M3,"buildRuntimeState");function u1(e,t,o,r=5,n=0,i=0){let a=e.trackLengthMm;if(a===0)return [new three.Vector3,new three.Vector3];let l=Math.max(0,Math.min(t,a)),c=Math.max(0,Math.min(o,a)),m=Math.abs(c-l),u=c>=l?1:-1,p=Math.max(2,Math.ceil(m/r)+1),d=new Array(p);for(let f=0;f<p;f++){let M=f/(p-1),g=l+u*M*m,h=t1(e,g);if(!h){d[f]=new three.Vector3;continue}let y=h.yawDeg*j,v=i===0?0:-Math.sin(y)*i,P=i===0?0:Math.cos(y)*i;d[f]=new three.Vector3(h.positionMm[0]+v,h.positionMm[1]+P,h.positionMm[2]+n);}return d}s(u1,"sampleChainRange");function R1(e,t,o=0,r=0){let n=t1(e,t);if(!n)return null;let i=n.yawDeg*j,a=new three.Vector3(Math.cos(i),Math.sin(i),0),l=r===0?0:-Math.sin(i)*r,c=r===0?0:Math.cos(i)*r;return {position:new three.Vector3(n.positionMm[0]+l,n.positionMm[1]+c,n.positionMm[2]+o),tangent:a}}s(R1,"sampleChainPoint");var Xe=20;function R2(e,t,o,r,n){let i=e[0];if(i===void 0)return [];let a=e.length===1&&o<t?[i,i]:e,l=[];for(let c=0;c<a.length;c++){let m=r(a[c]);if(!m)continue;let u=i5(m.trackLengthMm,n);l.push({chain:m,startMm:c===0?K(t,n):u.userStartChainMm,endMm:c===a.length-1?K(o,n):u.userEndChainMm});}return l}s(R2,"resolveTrackSpans");function B1(e,t){let o=new three.Box3,r=new three.Vector3;for(let n of e.processingUnits){let i=t?.[n.objectId]??n.trackTransform??null;if(!(i&&i.visible===false))for(let a of n.parts){if(a.partTransformation?.visible===false)continue;let l=y3(e,n,a,t),c=Z(a.modules),m=Math.max(20,c.modules.length*5);for(let u=0;u<=m;u++){let p=u/m*c.trackLengthMm,d=t1(c,p);d&&(r.set(d.positionMm[0],d.positionMm[1],d.positionMm[2]),r.applyMatrix4(l),o.expandByPoint(r));}}}return o.isEmpty()||o.expandByScalar(200),o}s(B1,"computeBoundingBox");var Bo=1,Lo=1e6,Go=1e3;function $1(e,t,o=1.1){let r=e.getCenter(new three.Vector3),n=e.getSize(new three.Vector3),i=Math.max(1,n.x),a=Math.max(1,n.y),l=Math.max(1,n.z),c=Number.isFinite(t)&&t>0?t:1,m=i*o/2,u=a*o/2;m/u<c?m=u*c:u=m/c;let p=r.z+l/2+Go;return {position:[r.x,r.y,p],up:[0,1,0],left:-m,right:m,top:u,bottom:-u,near:Bo,far:Lo,target:[r.x,r.y,r.z]}}s($1,"computeTopDownOrtho");var T5=[1,-1,1];function b3(e,t,o,r=1.2){let n=e.getCenter(new three.Vector3),i=e.getSize(new three.Vector3),a=Math.max(i.x,i.y,i.z)*r,l=t*(Math.PI/180),c=a/2/Math.tan(l/2),m=o.clone();return m.lengthSq()<1e-6&&m.set(...T5),m.normalize(),{position:new three.Vector3().copy(n).addScaledVector(m,c),target:n}}s(b3,"computePerspectiveFraming");function C5(){return new three.Vector3(...T5)}s(C5,"defaultViewDirection");var x5=150,h3=175;function y3(e,t,o,r){return _1(e.orientation,x1(t,r),o.partTransformation)}s(y3,"partWorldMatrix");function Ho(e,t){for(let o of e.processingUnits){let r=o.parts.find(n=>n.globalNumber===t);if(r)return {xpu:o,part:r}}return null}s(Ho,"findPartByGlobalNumber");function v5(e,t,o,r,n){let i=new three.Box3,a=t[0];if(a===void 0)return i;let l=Ho(e,a);if(!l)return i;let{xpu:c,part:m}=l,u=y3(e,c,m,n),p=c.positionFrame,d=new Map(c.parts.map(f=>[f.globalNumber,Z(f.modules)]));for(let f of R2(t,o,r,M=>d.get(M),p))for(let M of u1(f.chain,f.startMm,f.endMm,Xe))i.expandByPoint(M.applyMatrix4(u));return i.isEmpty()||i.expandByScalar(x5),i}s(v5,"regionBoundingBox");function A5(e,t,o){let r=e.stations?.find(n=>n.stationId===t);return r?v5(e,r.partOids,r.startPositionOnPart,r.endPositionOnPart,o):new three.Box3}s(A5,"computeStationBoundingBox");function P5(e,t,o){let r=e.areas?.find(n=>n.areaId===t);return r?v5(e,r.partOids,r.startPositionOnPart,r.endPositionOnPart,o):new three.Box3}s(P5,"computeAreaBoundingBox");function S5(e,t,o){let r=new three.Box3,n=e.processingUnits.find(p=>p.objectId===t.processingUnitObjectId);if(!n)return r;let i=n.parts.find(p=>p.objectId===t.partObjectId);if(!i)return r;let a=Z(i.modules),l=a.modules[t.moduleIndex];if(!l)return r;let c=y3(e,n,i,o),m=l.startPositionInPartMm,u=m+l.trackLengthMm;for(let p of u1(a,m,u,10))r.expandByPoint(p.applyMatrix4(c));return r.isEmpty()||r.expandByScalar(x5),r}s(S5,"computeModuleBoundingBox");function O5(e,t,o,r,n){let i=new three.Box3,a=Ue(e,t,o,{...r?{getPositionMm:r}:{},...n?{getPartObjectId:n}:{}});return a&&i.setFromCenterAndSize(new three.Vector3(...a.positionMm),new three.Vector3(h3*2,h3*2,h3*2)),i}s(O5,"computeMoverBoundingBox");function R5(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}s(R5,"easeInOutCubic");function E5(e){return e==="linear"?t=>t:R5}s(E5,"resolveEasing");function T3(e){let{camera:t,controls:o,toPosition:r,toTarget:n,toFrustum:i}=e,a=Math.max(0,e.durationMs),l=e.easing??R5,c=e.now??(()=>performance.now()),m=e.raf??(b=>requestAnimationFrame(b)),u=e.caf??(b=>cancelAnimationFrame(b)),p=t.position.clone(),d=o.target.clone(),f=t,M=!!i&&f.isOrthographicCamera===true,g=M?{left:f.left,right:f.right,top:f.top,bottom:f.bottom}:null,h=s(b=>{t.position.lerpVectors(p,r,b),o.target.lerpVectors(d,n,b),M&&g&&i&&(f.left=g.left+(i.left-g.left)*b,f.right=g.right+(i.right-g.right)*b,f.top=g.top+(i.top-g.top)*b,f.bottom=g.bottom+(i.bottom-g.bottom)*b,f.updateProjectionMatrix()),o.update();},"apply");if(a===0)return h(1),()=>{};let y=0,v=false,P=c(),A=s(()=>{if(v)return;let b=Math.min(1,(c()-P)/a);h(l(b)),b<1&&(y=m(A));},"tick");return y=m(A),()=>{v=true,u(y);}}s(T3,"animateCamera");C3();var zo=4096,Vo=1.1,Xo=64e6;function k5(e,t){if(!Number.isFinite(e)||e<=0)throw new Error(`captureSize: \`${t}\` must be a finite positive number, got ${e}`)}s(k5,"assertPositiveInt");function Wo(e){let{mode:t,width:o,height:r,sceneAspect:n,canvasAspect:i,defaultWidth:a,defaultHeight:l,maxDim:c}=e,m=e.maxPixels??Xo;o!==void 0&&k5(o,"width"),r!==void 0&&k5(r,"height");let u=t==="top-down"?n:i,p=Number.isFinite(u)&&u>0?u:1,d,f;o!==void 0&&r!==void 0?(d=o,f=r):o!==void 0?(d=o,f=o/p):r!==void 0?(f=r,d=r*p):(d=a,f=t==="top-down"?a/p:l);let M=Math.max(1,Math.round(d)),g=Math.max(1,Math.round(f)),h=Number.isFinite(c)&&c>=1?c:1,y=Math.min(1,h/M,h/g),v=M*y*(g*y);return v>m&&(y*=Math.sqrt(m/v)),y>=1?{width:M,height:g,requestedWidth:M,requestedHeight:g,clamped:false}:{width:Math.max(1,Math.floor(M*y)),height:Math.max(1,Math.floor(g*y)),requestedWidth:M,requestedHeight:g,clamped:true}}s(Wo,"resolveCaptureSize");function Zo(e){let t=e.capabilities?.maxTextureSize,o=typeof t=="number"&&t>=1?t:zo;try{let r=e.getContext(),n=r?.getParameter(r.MAX_RENDERBUFFER_SIZE);typeof n=="number"&&n>=1&&(o=Math.min(o,n));}catch{}return o}s(Zo,"resolveMaxRenderTargetDim");var Ko=4;function Yo(e,t){let o=typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):0;if(o===0)return 0;let r=e===void 0?Ko:Math.floor(e);return !Number.isFinite(r)||r<=0?0:Math.min(r,o)}s(Yo,"resolveSamples");function qo(e,t,o,r){let n=t*4;for(let i=0;i<o;i++){let a=(o-1-i)*n;r.set(e.subarray(a,a+n),i*n);}return r}s(qo,"flipRowsRgba");function Jo(e){for(let t=0;t<e.length;t+=4){let o=e[t+3];if(o===0||o===255)continue;let r=255/o;e[t]=Math.min(255,Math.round(e[t]*r)),e[t+1]=Math.min(255,Math.round(e[t+1]*r)),e[t+2]=Math.min(255,Math.round(e[t+2]*r));}}s(Jo,"unpremultiplyRgba");function Qo(e){let t=null;for(let o of e)try{o();}catch(r){t=I2(t,r);}return t}s(Qo,"runTeardown");function $o(e,t,o){let r=t.background,n=e.getClearColor(new three.Color),i=e.getClearAlpha(),a=e.autoClear,l=e.shadowMap.needsUpdate,c=[],m=o.exposureBoost??1;if(m!==1&&t.traverse(u=>{let p=u;p.isLight&&typeof p.intensity=="number"&&(c.push({light:p,intensity:p.intensity}),p.intensity*=m);}),o.backgroundColor===null||o.backgroundColor===void 0)e.setClearColor(0,0),t.background=null;else {let u=new three.Color(o.backgroundColor);e.setClearColor(u,1),t.background=u;}return e.autoClear=true,o.updateShadows&&e.shadowMap.enabled&&(e.shadowMap.needsUpdate=true),()=>{for(let{light:u,intensity:p}of c)u.intensity=p;t.background=r,e.setClearColor(n,i),e.autoClear=a,e.shadowMap.needsUpdate=l||e.shadowMap.needsUpdate;}}s($o,"applySceneCaptureState");function w2(e){return e.isOrthographicCamera===true}s(w2,"isOrtho");function w5(e,t){let o=Math.abs(e.right-e.left)/2,r=Math.abs(e.top-e.bottom)/2,n=(e.right+e.left)/2,i=(e.top+e.bottom)/2,a=Number.isFinite(t)&&t>0?t:1,l=o,c=r;l/c<a?l=c*a:c=l/a,e.left=n-l,e.right=n+l,e.top=i+c,e.bottom=i-c;}s(w5,"fitOrthoFrustum");function er(e){let{mode:t,width:o,height:r,bbox:n,liveCamera:i,paddingFactor:a}=e,l=o/r;if(t==="top-down"){if(n.isEmpty())throw new Error("capture('top-down'): scene bounding box is empty");let m=$1(n,l,a),u=new three.OrthographicCamera(m.left,m.right,m.top,m.bottom,m.near,m.far);return u.up.set(...m.up),u.position.set(...m.position),u.lookAt(new three.Vector3(...m.target)),u.updateMatrixWorld(),{camera:u,state:{positionMm:[...m.position],targetMm:[...m.target],upAxis:"Z"}}}if(!i)throw new Error("capture: no active camera to clone from");if(t==="custom"){let m=e.camera;if(!m)throw new Error("capture('custom'): `opts.camera` is required");let u=i.clone();return u.position.set(...m.positionMm),u.up.set(0,0,1),u.lookAt(new three.Vector3(...m.targetMm)),m.zoom!==void 0&&Number.isFinite(m.zoom)&&m.zoom>0&&(u.zoom=m.zoom),w2(u)?w5(u,l):u.aspect=l,u.updateProjectionMatrix(),u.updateMatrixWorld(),{camera:u,state:{positionMm:[...m.positionMm],targetMm:[...m.targetMm],upAxis:m.upAxis,...u.zoom!==1?{zoom:u.zoom}:{}}}}let c=i.clone();return w2(c)?w5(c,l):c.aspect=l,c.updateProjectionMatrix(),c.updateMatrixWorld(),{camera:c,state:{positionMm:[c.position.x,c.position.y,c.position.z],targetMm:e.liveTargetMm??[0,0,0],upAxis:"Z",...c.zoom!==1?{zoom:c.zoom}:{}}}}s(er,"resolveCaptureCamera");function tr(e,t){let o=Number.isFinite(t)&&t>0?t:1,r=Math.max(1,e.clientWidth||e.width/o||1),n=Math.max(1,e.clientHeight||e.height/o||1);return {cssWidth:r,cssHeight:n,aspect:r/n}}s(tr,"readCanvasMetrics");function or(e){if(e.isEmpty())return 1;let t=e.getSize(new three.Vector3);return Math.max(1,t.x)/Math.max(1,t.y)}s(or,"sceneAspectOf");function We(e,t,o){let{gl:r,bbox:n}=e,i=t.mode??"current",a=tr(r.domElement,o),l=Wo({mode:i,width:t.width,height:t.height,sceneAspect:or(n),canvasAspect:a.aspect,defaultWidth:Math.max(1,Math.round(a.cssWidth*o)),defaultHeight:Math.max(1,Math.round(a.cssHeight*o)),maxDim:Zo(r)}),{width:c,height:m}=l,{camera:u,state:p}=er({mode:i,width:c,height:m,bbox:n,liveCamera:e.liveCamera,liveTargetMm:e.liveTargetMm?[...e.liveTargetMm]:void 0,camera:t.camera,paddingFactor:t.paddingFactor??Vo}),d=Yo(t.samples,r.capabilities?.maxSamples);return {widthPx:c,heightPx:m,requestedWidthPx:l.requestedWidth,requestedHeightPx:l.requestedHeight,clamped:l.clamped,samples:d,camera:p,renderCamera:u,target:new three.WebGLRenderTarget(c,m,{depthBuffer:true,stencilBuffer:false,colorSpace:three.SRGBColorSpace,samples:d})}}s(We,"prepareCapture");function Ze(e){let{gl:t,scene:o,camera:r,target:n,width:i,height:a,registry:l}=e,c=null,m=null,u=null,p=null,d=0,f=0,M=false,g=null,h=e.out?e.readBuffer??new Uint8Array(i*a*4):null;try{p=t.getRenderTarget(),d=t.getActiveCubeFace(),f=t.getActiveMipmapLevel(),M=!0,e.sceneState&&(c=$o(t,o,e.sceneState)),l?.flushTransforms(),o.updateMatrixWorld(!0),m=l?.applyCameraDependents(r)??null,e.freezeAnimations&&(u=l?.applyPrepares()??null),t.setRenderTarget(n),t.clear(!0,!0,!1),t.render(o,r),n&&h&&t.readRenderTargetPixels(n,0,0,i,a,h);}catch(v){g=I2(g,v);}let y=Qo([()=>u?.(),()=>m?.(),()=>c?.(),...e.extraTeardown??[],()=>{M&&t.setRenderTarget(p,d,f);}]);k2(g),k2(y),e.out&&h&&(qo(h,i,a,e.out),Jo(e.out));}s(Ze,"renderOffscreenFrame");var rr=1.35,nr=.92;async function D5(e,t={}){let{gl:o,scene:r,bbox:n}=e,i=t.format??"png",a=t.quality??nr,l=t.pixelRatio??o.getPixelRatio(),c=We({...e,bbox:n},t,l),{widthPx:m,heightPx:u,target:p}=c,d=new Uint8ClampedArray(m*u*4);Ze({gl:o,scene:r,camera:c.renderCamera,target:p,width:m,height:u,registry:e.captureRegistry,sceneState:{backgroundColor:t.backgroundColor,exposureBoost:t.exposureBoost??rr,updateShadows:t.updateShadows!==false},freezeAnimations:t.freezeAnimations!==false,out:d,extraTeardown:[()=>p.dispose()]});let f=new ImageData(d,m,u);return {blob:await sr(f,i,a),widthPx:c.widthPx,heightPx:c.heightPx,requestedWidthPx:c.requestedWidthPx,requestedHeightPx:c.requestedHeightPx,clamped:c.clamped,samples:c.samples,camera:c.camera,boundingBoxMm:{min:[n.min.x,n.min.y,n.min.z],max:[n.max.x,n.max.y,n.max.z]},mode:t.mode??"current",postProcessingBypassed:e.captureRegistry?.postProcessingActive??false}}s(D5,"captureScreenshot");function ir(e){return e==="png"?"image/png":e==="jpeg"?"image/jpeg":"image/webp"}s(ir,"mimeFor");async function sr(e,t,o){let r=e.width,n=e.height,i=ir(t);if(typeof OffscreenCanvas<"u"){let c=new OffscreenCanvas(r,n),m=c.getContext("2d");if(!m)throw new Error("Failed to acquire OffscreenCanvas 2D context");return m.putImageData(e,0,0),c.convertToBlob(t==="png"?{type:i}:{type:i,quality:o})}let a=document.createElement("canvas");a.width=r,a.height=n;let l=a.getContext("2d");if(!l)throw new Error("Failed to acquire HTMLCanvasElement 2D context");return l.putImageData(e,0,0),new Promise((c,m)=>{a.toBlob(u=>u?c(u):m(new Error("canvas.toBlob returned null")),i,t==="png"?void 0:o);})}s(sr,"encodeImageData");function ar(e){let t;try{t=e.getContext()?.isContextLost()===!0;}catch{t=true;}if(t)throw new Error("FrameCaptureSession: the WebGL context was lost. Dispose the session and start a new one once the context is restored.")}s(ar,"assertContextAlive");function F5(e,t={}){let{gl:o,scene:r,bbox:n,registry:i,moverStore:a}=e,l=o.getPixelRatio(),c=t.freezeAnimations!==false,m=t.updateShadows!==false,u=t.exposureBoost??1,p=We({...e,bbox:n},t,l),{widthPx:d,heightPx:f,target:M}=p,g=p.renderCamera,h=d*f*4,y=new Uint8Array(h),v=new Uint8ClampedArray(h),P=null,A=null,b=null,T=false,x=false;a?.suspendNotifications(),i?.beginSession();function C(){if(T)throw new Error("FrameCaptureSession: session already disposed");if(x)throw new Error("FrameCaptureSession: re-entrant grab() (called from inside a capture callback?)");ar(o),x=true;try{Ze({gl:o,scene:r,camera:g,target:M,width:d,height:f,registry:i,sceneState:{backgroundColor:t.backgroundColor,exposureBoost:u,updateShadows:m},freezeAnimations:c,out:v,readBuffer:y});}finally{x=false;}}s(C,"renderFrame");function S(){if(!P){if(typeof document>"u")throw new Error("FrameCaptureSession.grab(): no `document` available. Use grabPixels() outside a DOM environment.");if(P=document.createElement("canvas"),P.width=d,P.height=f,A=P.getContext("2d"),!A)throw new Error("FrameCaptureSession.grab(): failed to acquire a 2D context");b=new ImageData(v,d,f);}return P.width!==d&&(P.width=d),P.height!==f&&(P.height=f),P}return s(S,"ensureCanvas"),{widthPx:p.widthPx,heightPx:p.heightPx,requestedWidthPx:p.requestedWidthPx,requestedHeightPx:p.requestedHeightPx,clamped:p.clamped,samples:p.samples,camera:p.camera,get disposed(){return T},grab(){C();let k=S();return A.putImageData(b,0,0),k},grabPixels(k){if(k&&k.length<h)throw new Error(`FrameCaptureSession.grabPixels(): \`out\` needs at least ${h} bytes, got ${k.length}`);return C(),k?(k.set(v.subarray(0,h)),k):new Uint8Array(v.buffer,v.byteOffset,h)},dispose(){T||(T=true,i?.endSession(),a?.resumeNotifications(),M.dispose());}}}s(F5,"beginFrameCapture");function lr(e){return Z1(e)?.isInfeed===true}s(lr,"isInfeedModule");function _5(e,t={}){let o=[];for(let i=0;i<e.length;i++){let a=e[i];a&&lr(a.moduleType)&&o.push(i);}if(o.length===0)return [];let r=o.map((i,a)=>{let l=o[a+1]??e.length,c=[];for(let m=i;m<l;m++)c.push(m);return {segmentIndex:a,leadModuleIndex:i,moduleIndices:c,wrapsSeam:false}}),n=o[0]??0;if(t.closed&&n>0){let i=r[r.length-1];if(i){for(let a=0;a<n;a++)i.moduleIndices.push(a);i.wrapsSeam=true;}}return r}s(_5,"splitIntoFeedSegments");function v3(e){let t=[];for(let o of e.processingUnits??[])t.push(...Ke(o));return t}s(v3,"collectFeedSegments");function Ke(e,t){let o=[];for(let r of e.parts??[]){let n=t?.get(r.globalNumber)??Z(r.modules),i=_5(n.modules,{closed:g1(n)});for(let a of i){let l=n.modules[a.leadModuleIndex];if(!l)continue;let c=0;for(let m of a.moduleIndices)c+=n.modules[m]?.catalog.moduleLengthMm??0;o.push({processingUnitObjectId:e.objectId,partObjectId:r.objectId,segmentIndex:a.segmentIndex,...l.globalNumber!==void 0?{infeedModuleGlobalNumber:l.globalNumber}:{},infeedModuleType:l.moduleType,moduleIndices:a.moduleIndices,lengthMm:c,wrapsSeam:a.wrapsSeam});}}return o}s(Ke,"collectFeedSegmentsForXpu");var P3=180/Math.PI;function ur(e){return Array.isArray(e)}s(ur,"isMoverPositionEntryArray");function H5({ref:e,config:t,normalized:o,cameraRef:r,orbitRef:n,glRef:i,sceneRef:a,moverStoreRef:l,moduleStatusStoreRef:c,moverToolStateStoreRef:m,captureRegistryRef:u,measurementApi:p,trackTransformOverrides:d}){let f=U5.useRef(null),M=U5.useRef(new Set);U5.useEffect(()=>()=>{f.current?.(),f.current=null;for(let g of M.current)try{g.dispose();}catch{}M.current.clear();},[]),U5.useImperativeHandle(e,()=>{let g=s(()=>{let b=i.current?.domElement,T=b?.clientWidth||b?.width||1,x=b?.clientHeight||b?.height||1;return x>0?T/x:1},"canvasAspect"),h=s((b,T,x,C)=>{let S=$1(x,g(),C);b.left=S.left,b.right=S.right,b.top=S.top,b.bottom=S.bottom,b.up.set(...S.up),b.position.set(...S.position),b.updateProjectionMatrix(),T.target.set(...S.target),b.lookAt(new three.Vector3(...S.target)),T.update();},"snapTopDown"),y=s((b,T,x,C,S)=>{let R=b3(x,b.fov,C,S);b.position.copy(R.position),b.lookAt(R.target),T.target.copy(R.target),T.update();},"snapPerspective"),v=s((b,T)=>new three.Vector3().subVectors(b.position,T.target),"currentViewDirection"),P=s(b=>{let T=i.current,x=a.current;if(!T||!x)throw new Error(`${b}: renderer not ready (call after the component has mounted)`);let C=n.current?.target;return {gl:T,scene:x,liveCamera:r.current,...C?{liveTargetMm:[C.x,C.y,C.z]}:{},bbox:o?B1(o,d):new three.Box3}},"captureContext"),A=s(b=>{if(!o)return new three.Box3;switch(b.kind){case "scene":return B1(o,d);case "station":return A5(o,b.stationId,d);case "area":return P5(o,b.areaId,d);case "module":return S5(o,b.ref,d);case "mover":return O5(o,b.ref,d,T=>l.current?.get(T)??void 0,T=>l.current?.getPartObjectId(T))}},"boxForTarget");return {zoomToFit:s((b=1.2)=>{f.current?.();let T=r.current,x=n.current;if(!T||!x||!o)return;let C=B1(o,d);if(!C.isEmpty()){if(w2(T)){h(T,x,C,b);return}y(T,x,C,C5(),b);}},"zoomToFit"),frameTopDown:s((b=1.1)=>{f.current?.();let T=r.current,x=n.current;if(!T||!x||!o||!w2(T))return;let C=B1(o,d);C.isEmpty()||h(T,x,C,b);},"frameTopDown"),focusOn:s((b,T)=>{let x=r.current,C=n.current;if(!x||!C||!o)return;let S=A(b);if(S.isEmpty())return;f.current?.();let R=T?.durationMs??700,k=E5(T?.easing);if(w2(x)){let _=T?.paddingFactor??1.1,D=$1(S,g(),_);f.current=T3({camera:x,controls:C,toPosition:new three.Vector3(...D.position),toTarget:new three.Vector3(...D.target),toFrustum:{left:D.left,right:D.right,top:D.top,bottom:D.bottom},durationMs:R,easing:k});return}let I=x,F=b3(S,I.fov,v(I,C),T?.paddingFactor??1.2);f.current=T3({camera:I,controls:C,toPosition:F.position,toTarget:F.target,durationMs:R,easing:k});},"focusOn"),setCamera:s(b=>{f.current?.();let T=r.current,x=n.current;!T||!x||(T.position.set(...b.positionMm),T.lookAt(new three.Vector3(...b.targetMm)),x.target.set(...b.targetMm),x.update());},"setCamera"),getCamera:s(()=>{let b=r.current,T=n.current;return !b||!T?null:{positionMm:[b.position.x,b.position.y,b.position.z],targetMm:[T.target.x,T.target.y,T.target.z],upAxis:"Z"}},"getCamera"),getMoverWorldTransform:s(b=>{if(!o)return null;let T=Ue(o,b,d,{getPositionMm:s(R=>l.current.get(R),"getPositionMm"),getPartObjectId:s(R=>l.current.getPartObjectId(R),"getPartObjectId")});if(!T)return null;let x=new three.Quaternion().setFromEuler(new three.Euler(0,0,T.chainYawDeg*j,"XYZ")),C=new three.Quaternion;T.matrix.decompose(new three.Vector3,C,new three.Vector3);let S=new three.Euler().setFromQuaternion(C.multiply(x),"XYZ");return {positionMm:T.positionMm,rotationDegEuler:[S.x*P3,S.y*P3,S.z*P3]}},"getMoverWorldTransform"),getBoundingBox:s(()=>{let b=o?B1(o,d):new three.Box3;return {min:[b.min.x,b.min.y,b.min.z],max:[b.max.x,b.max.y,b.max.z]}},"getBoundingBox"),getConfig:s(()=>t,"getConfig"),getFeedSegments:s(()=>o?v3(o):[],"getFeedSegments"),getRuntimeState:s(()=>M3(t),"getRuntimeState"),exportModel:s(b=>{let T=p.toJSON(),x=T.measurements.length>0||T.annotations.length>0;return {schemaVersion:1,meta:{generatedAt:new Date().toISOString(),generator:`beckhoff-xts-viewer-3d@${H0}`},config:t,...b?.includeRuntime!==false?{runtime:M3(t)}:{},...b?.includeMeasurements!==false&&x?{measurements:T}:{}}},"exportModel"),exportScreenshot:s(async b=>D5({...P("exportScreenshot"),captureRegistry:u.current},b),"exportScreenshot"),beginFrameCapture:s(b=>{let T=F5({...P("beginFrameCapture"),registry:u.current,moverStore:l.current},b),x=M.current;x.add(T);let C=T.dispose.bind(T);return T.dispose=()=>{C(),x.delete(T);},T},"beginFrameCapture"),renderFrameNow:s(()=>{let b=i.current,T=a.current,x=r.current;if(!b||!T||!x)return;u.current?.flushTransforms();let C=b.getRenderTarget(),S=b.getActiveCubeFace(),R=b.getActiveMipmapLevel();try{b.setRenderTarget(null),b.render(T,x);}finally{b.setRenderTarget(C,S,R);}},"renderFrameNow"),setMoverPosition:s((b,T)=>{l.current.set(b,T);},"setMoverPosition"),setMoverPositions:s(b=>{let T=l.current;if(ur(b)){if(!o)return;let x=new Map;for(let C of o.processingUnits)for(let S of C.movers)x.set(S.index,S.id);for(let C=0;C<b.length;C++){let S=b[C];if(S==null)continue;let R=x.get(C);R!==void 0&&T.setEntry(R,S.partObjectId,S.partPosition);}}else T.setMany(b);},"setMoverPositions"),getMoverPosition:s(b=>{let T=l.current.get(b);return T===void 0?null:T},"getMoverPosition"),setModuleStatuses:s(b=>{c.current.setMany(b);},"setModuleStatuses"),clearModuleStatuses:s(()=>{c.current.clearAll();},"clearModuleStatuses"),setMoverToolStates:s(b=>{m.current.setMany(b);},"setMoverToolStates"),clearMoverToolStates:s(()=>{m.current.clearAll();},"clearMoverToolStates"),checkMoverCollisions:s(b=>{if(!o)return [];let T=l.current;return m3(o,x=>T.get(x),b)},"checkMoverCollisions"),checkModuleCollisions:s(b=>o?te(o,o.orientation,d,b):[],"checkModuleCollisions"),measurements:p}},[t,o,p,d]);}s(H5,"useXtsViewerHandle");var Ye=class{static{s(this,"MoverPositionStore");}entries=new Map;version=0;onWrite=null;suspendDepth=0;suspendNotifications(){this.suspendDepth++;}resumeNotifications(){this.suspendDepth!==0&&(this.suspendDepth--,this.suspendDepth===0&&this.wroteWhileSuspended&&(this.wroteWhileSuspended=false,this.onWrite?.()));}get notificationsSuspended(){return this.suspendDepth>0}wroteWhileSuspended=false;partAssignmentListeners=new Set;partAssignmentVersion=0;subscribePartAssignment(t){return this.partAssignmentListeners.add(t),()=>{this.partAssignmentListeners.delete(t);}}notifyPartAssignment(){this.partAssignmentVersion++;for(let t of this.partAssignmentListeners)t();}notify(){if(this.version++,this.suspendDepth>0){this.wroteWhileSuspended=true;return}this.onWrite?.();}set(t,o){let r=this.entries.get(t);r?r.partPositionMm=o:this.entries.set(t,{partPositionMm:o}),this.notify();}setMany(t){for(let[o,r]of Object.entries(t)){let n=this.entries.get(Number(o));n?n.partPositionMm=r:this.entries.set(Number(o),{partPositionMm:r});}this.notify();}setEntry(t,o,r){let n=this.entries.get(t),i=n?n.partObjectId!==o:true;n?(n.partPositionMm=r,n.partObjectId=o):this.entries.set(t,{partPositionMm:r,partObjectId:o}),this.notify(),i&&this.notifyPartAssignment();}get(t){return this.entries.get(t)?.partPositionMm}getEntry(t){return this.entries.get(t)}getPartObjectId(t){return this.entries.get(t)?.partObjectId}getOr(t,o){return this.get(t)??o}has(t){return this.entries.has(t)}clear(t){let o=this.entries.get(t)?.partObjectId!==void 0;this.entries.delete(t),o&&this.notifyPartAssignment();}clearAll(){let t=false;for(let o of this.entries.values())if(o.partObjectId!==void 0){t=true;break}this.entries.clear(),t&&this.notifyPartAssignment();}},o1=U5__default.default.createContext(null);L1();var Je=class{static{s(this,"ModuleStatusStore");}entries=new Map;listeners=new Map;set(t,o){o===null?this.entries.delete(t):this.entries.set(t,o),this.notify(t);}setMany(t){let o=[];for(let r=0;r<t.length;r++){let n=t[r];if(n!==void 0)if(n===null)this.entries.delete(r)&&o.push(r);else {let i=this.entries.get(r);(!i||i.warning!==n.warning||i.error!==n.error)&&(this.entries.set(r,n),o.push(r));}}for(let r of o)this.notify(r);}get(t){return this.entries.get(t)}clear(t){this.entries.delete(t)&&this.notify(t);}clearAll(){let t=Array.from(this.entries.keys());this.entries.clear();for(let o of t)this.notify(o);}subscribe(t,o){let r=this.listeners.get(t);return r||(r=new Set,this.listeners.set(t,r)),r.add(o),()=>{r.delete(o),r.size===0&&this.listeners.delete(t);}}notify(t){let o=this.listeners.get(t);if(o)for(let r of o)r();}},Qe=U5__default.default.createContext(null);var $e=class{static{s(this,"MoverToolStateStore");}entries=new Map;listeners=new Map;setMany(t){let o=[];for(let[r,n]of Object.entries(t)){let i=Number(r);if(!Number.isFinite(i))continue;let a=new Map(this.entries.get(i)),l=false;for(let[c,m]of Object.entries(n)){if(m==null){l=a.delete(c)||l;continue}let u=a.get(c);(!u||u.visible!==m.visible)&&(a.set(c,m),l=true);}l&&(a.size===0?this.entries.delete(i):this.entries.set(i,a),o.push(i));}for(let r of o)this.notify(r);}get(t){return this.entries.get(t)}clear(t){this.entries.delete(t)&&this.notify(t);}clearAll(){let t=Array.from(this.entries.keys());this.entries.clear();for(let o of t)this.notify(o);}subscribe(t,o){let r=this.listeners.get(t);return r||(r=new Set,this.listeners.set(t,r)),r.add(o),()=>{r.delete(o),r.size===0&&this.listeners.delete(t);}}notify(t){let o=this.listeners.get(t);if(o)for(let r of o)r();}},e0=U5__default.default.createContext(null);var hr=Object.freeze({useBuiltins:true}),t0=U5.createContext(hr);function R3(){return U5.useContext(t0)}s(R3,"useSidecarSource");var E3=U5__default.default.createContext(null);function r0(){return U5__default.default.useContext(E3)}s(r0,"useMeasurementStore");function W5(e){let t=U5.useCallback(r=>e?e.subscribe(r):()=>{},[e]),o=U5.useCallback(()=>e?.version??0,[e]);return U5.useSyncExternalStore(t,o,o)}s(W5,"useMeasurementVersion");function Z5(e){let t=U5.useCallback(r=>e?e.subscribe(n=>{n.type==="tool"&&r();}):()=>{},[e]),o=U5.useCallback(()=>e?.getTool()??"none",[e]);return U5.useSyncExternalStore(t,o,o)}s(Z5,"useMeasurementTool");var br=180/Math.PI,n0=1,I3=" mm";function t2(e,t){return [e[0]-t[0],e[1]-t[1],e[2]-t[2]]}s(t2,"subVec3");function yr(e,t){return [e[0]+t[0],e[1]+t[1],e[2]+t[2]]}s(yr,"addVec3");function Tr(e,t){return [e[0]*t,e[1]*t,e[2]*t]}s(Tr,"scaleVec3");function Cr(e){return Math.hypot(e[0],e[1],e[2])}s(Cr,"lengthVec3");function xr(e,t){return [(e[0]+t[0])/2,(e[1]+t[1])/2,(e[2]+t[2])/2]}s(xr,"midpointVec3");function H1(e,t=1e-9){let o=Cr(e);return o<=t?null:[e[0]/o,e[1]/o,e[2]/o]}s(H1,"normalizeVec3");function o2(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2])}s(o2,"distanceMm");function vr(e,t){return t2(t,e)}s(vr,"deltaMm");function K5(e,t,o){switch(o){case "x":return Math.abs(t[0]-e[0]);case "y":return Math.abs(t[1]-e[1]);case "z":return Math.abs(t[2]-e[2]);default:return o2(e,t)}}s(K5,"axisDistanceMm");function Y5(e,t,o){let r=H1(t2(e,t)),n=H1(t2(o,t));if(!r||!n)return 0;let i=Math.min(1,Math.max(-1,r[0]*n[0]+r[1]*n[1]+r[2]*n[2]));return Math.acos(i)*br}s(Y5,"angleDeg");function oe(e){return [e[0],e[1],e[2]]}s(oe,"copyVec3");function k3(e,t=false){let o=[],r;for(let i of e)r&&o.push(o2(r,i)),r=i;let n=e[0];return t&&e.length>2&&n&&r&&o.push(o2(r,n)),{segments:o,total:o.reduce((i,a)=>i+a,0)}}s(k3,"pathLengthsMm");function q5(e,t,o){let r=Math.abs(t-e);if(!o.closed||o.trackLengthMm<=0)return r;let n=o.trackLengthMm-r%o.trackLengthMm;return Math.min(r%o.trackLengthMm,n)}s(q5,"trackDistanceMm");function w3(e,t,o,r,n=24){let i=H1(t2(e,t)),a=H1(t2(o,t));if(!i||!a)return [];let l=Math.min(1,Math.max(-1,i[0]*a[0]+i[1]*a[1]+i[2]*a[2])),c=Math.acos(l);if(!Number.isFinite(c)||c<1e-6)return [];let m=[a[0]-i[0]*l,a[1]-i[1]*l,a[2]-i[2]*l],u=H1(m);if(!u)return [];let p=Math.max(2,n),d=[];for(let f=0;f<=p;f++){let M=f/p*c,g=Math.cos(M),h=Math.sin(M);d.push([t[0]+(i[0]*g+u[0]*h)*r,t[1]+(i[1]*g+u[1]*h)*r,t[2]+(i[2]*g+u[2]*h)*r]);}return d}s(w3,"arcPoints");function Ar(e,t){let o=e[0],r=e[e.length-1];if(!o||!r)return [0,0,0];if(e.length===1)return oe(o);let{segments:n,total:i}=k3(e,false);if(i<=0)return oe(o);let a=Math.min(1,Math.max(0,t))*i,l=0;for(let c=0;c<n.length;c++){let m=n[c],u=e[c],p=e[c+1];if(!u||!p)break;if(l+m>=a){let d=m>0?(a-l)/m:0;return [u[0]+(p[0]-u[0])*d,u[1]+(p[1]-u[1])*d,u[2]+(p[2]-u[2])*d]}l+=m;}return oe(r)}s(Ar,"pointAlongPolyline");function re(e){switch(e.kind){case "distance":case "trackDistance":{let[t,o]=e.points;return xr(t.positionMm,o.positionMm)}case "angle":{let[t,o,r]=e.points,n=t.positionMm,i=o.positionMm,a=r.positionMm,l=H1(t2(n,i)),c=H1(t2(a,i));if(!l||!c)return oe(i);let m=H1([l[0]+c[0],l[1]+c[1],l[2]+c[2]]);if(!m)return oe(i);let u=D3(n,i,a);return yr(i,Tr(m,u*1.25))}default:return Ar(e.points.map(t=>t.positionMm),.5)}}s(re,"labelAnchorFor");function D3(e,t,o){let r=Math.min(o2(e,t),o2(o,t));return Math.max(1,r*.35)}s(D3,"angleArcRadiusMm");function G1(e,t={}){let o=t.decimals??n0,r=t.unitSuffix??I3;return `${Pr(e.toFixed(Q5(o)))}${r}`}s(G1,"formatLengthMm");function J5(e,t={}){let o=t.decimals??n0;return `${e.toFixed(Q5(o))}\xB0`}s(J5,"formatAngleDeg");function Q5(e){return Math.min(6,Math.max(0,Math.trunc(e)))}s(Q5,"clampDecimals");function Pr(e){let t=e.startsWith("-"),o=t?e.slice(1):e,r=o.indexOf("."),n=r===-1?o:o.slice(0,r),i=r===-1?"":o.slice(r),a=n.replace(/\B(?=(\d{3})+(?!\d))/g," ");return `${t?"-":""}${a}${i}`}s(Pr,"groupThousands");var r2={distance:2,angle:3,path:2,trackDistance:2};function n2(e,t={}){let o=t.format??{};switch(e.kind){case "distance":{let[r,n]=e.points,i=r.positionMm,a=n.positionMm,l=e.axis??"free",c=K5(i,a,l);return {id:e.id,kind:"distance",value:c,unit:"mm",text:G1(c,o),deltaMm:vr(i,a)}}case "angle":{let[r,n,i]=e.points,a=Y5(r.positionMm,n.positionMm,i.positionMm);return {id:e.id,kind:"angle",value:a,unit:"deg",text:J5(a,o)}}case "path":{let{segments:r,total:n}=k3(e.points.map(i=>i.positionMm),e.closed??false);return {id:e.id,kind:"path",value:n,unit:"mm",text:G1(n,o),segmentLengthsMm:r}}case "trackDistance":{let[r,n]=e.points,i=Sr(r,n,t.resolveTrack);if(i===null){let a=o2(r.positionMm,n.positionMm);return {id:e.id,kind:"trackDistance",value:a,unit:"mm",text:G1(a,o),incomplete:true}}return {id:e.id,kind:"trackDistance",value:i,unit:"mm",text:G1(i,o)}}}}s(n2,"computeMeasurementResult");function Sr(e,t,o){if(!o||!e.track||!t.track||e.track.processingUnitObjectId!==t.track.processingUnitObjectId||e.track.partObjectId!==t.track.partObjectId)return null;let r=o(e.track);return r?q5(e.track.partPositionMm,t.track.partPositionMm,r):null}s(Sr,"resolveTrackDistance");var i0=class{static{s(this,"MeasurementStore");}measurements=new Map;annotations=new Map;listeners=new Set;tool="none";draft=null;measurementSeq=0;annotationSeq=0;version=0;subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t);}}emit(t){this.version++;for(let o of [...this.listeners])o(t);}listMeasurements(){return [...this.measurements.values()]}getMeasurement(t){return this.measurements.get(t)??null}addMeasurement(t){let o=this.materializeMeasurement(t);return this.measurements.set(o.id,o),this.emit({type:"measurements"}),o}updateMeasurement(t,o){let r=this.measurements.get(t);if(!r)return null;let n={...r,...o,id:t,kind:r.kind};return o7(n),this.measurements.set(t,n),this.emit({type:"measurements"}),n}removeMeasurement(t){let o=this.measurements.delete(t);return o&&this.emit({type:"measurements"}),o}clearMeasurements(){this.measurements.size!==0&&(this.measurements.clear(),this.emit({type:"measurements"}));}setMeasurements(t){let o=t.map(r=>this.materializeMeasurement(r));this.measurements.clear();for(let r of o)this.measurements.set(r.id,r);return this.emit({type:"measurements"}),o}listAnnotations(){return [...this.annotations.values()]}getAnnotation(t){return this.annotations.get(t)??null}addAnnotation(t){let o=this.materializeAnnotation(t);return this.annotations.set(o.id,o),this.emit({type:"annotations"}),this.emit({type:"annotation-created",annotation:o}),o}updateAnnotation(t,o){let r=this.annotations.get(t);if(!r)return null;let n={...r,...o,id:t};return this.annotations.set(t,n),this.emit({type:"annotations"}),n}removeAnnotation(t){let o=this.annotations.delete(t);return o&&this.emit({type:"annotations"}),o}clearAnnotations(){this.annotations.size!==0&&(this.annotations.clear(),this.emit({type:"annotations"}));}setAnnotations(t){let o=t.map(r=>this.materializeAnnotation(r));this.annotations.clear();for(let r of o)this.annotations.set(r.id,r);return this.emit({type:"annotations"}),o}getTool(){return this.tool}setTool(t){this.tool!==t&&(this.tool=t,this.draft=t==="none"?null:{tool:t,points:[],hover:null},this.emit({type:"tool"}),this.emit({type:"draft"}));}getDraft(){return this.draft}setHover(t){this.draft&&(Or(this.draft.hover,t)||(this.draft={...this.draft,hover:t},this.emit({type:"draft"})));}pushPoint(t){let o=this.draft;if(!o||o.tool==="annotation")return {status:"ignored"};let r=[...o.points,t],n=r2[o.tool];if(o.tool!=="path"&&r.length>=n){this.draft={...o,points:[],hover:t};let i=this.commit(o.tool,r);return this.emit({type:"draft"}),{status:"committed",measurement:i}}return this.draft={...o,points:r,hover:t},this.emit({type:"draft"}),{status:"collecting",draft:this.draft}}finish(){let t=this.draft;if(!t||t.tool==="annotation")return null;let o=t.points;if(o.length<r2[t.tool])return this.cancel(),null;this.draft={...t,points:[],hover:t.hover};let r=this.commit(t.tool,o);return this.emit({type:"draft"}),r}cancel(){this.draft&&(this.draft.points.length===0&&this.draft.hover===null||(this.draft={...this.draft,points:[],hover:null},this.emit({type:"draft"})));}toJSON(){return {schemaVersion:1,measurements:this.listMeasurements(),annotations:this.listAnnotations()}}fromJSON(t){this.setMeasurements(t.measurements??[]),this.setAnnotations(t.annotations??[]);}commit(t,o){let r=this.materializeMeasurement({kind:t,points:o});return this.measurements.set(r.id,r),this.emit({type:"measurements"}),this.emit({type:"measurement-created",measurement:r}),r}materializeMeasurement(t){let o=t.id??this.nextMeasurementId(),r={...t,id:o,points:[...t.points]};return o7(r),this.measurementSeq=Math.max(this.measurementSeq,t7(o,$5)),r}materializeAnnotation(t){let o=t.id??this.nextAnnotationId();return this.annotationSeq=Math.max(this.annotationSeq,t7(o,e7)),{...t,id:o}}nextMeasurementId(){let t;do t=`${$5}${++this.measurementSeq}`;while(this.measurements.has(t));return t}nextAnnotationId(){let t;do t=`${e7}${++this.annotationSeq}`;while(this.annotations.has(t));return t}},$5="m-",e7="a-";function t7(e,t){if(!e.startsWith(t))return 0;let o=Number(e.slice(t.length));return Number.isInteger(o)&&o>0?o:0}s(t7,"parseSeq");function o7(e){let t=r2[e.kind];if(e.points.length<t)throw new Error(`Measurement '${e.kind}' needs at least ${t} points, got ${e.points.length}.`);if(e.kind!=="path"&&e.points.length>t)throw new Error(`Measurement '${e.kind}' takes exactly ${t} points, got ${e.points.length}.`)}s(o7,"assertPointCount");function Or(e,t){return e===t?true:!e||!t?false:e.snap===t.snap&&e.positionMm[0]===t.positionMm[0]&&e.positionMm[1]===t.positionMm[1]&&e.positionMm[2]===t.positionMm[2]}s(Or,"samePoint");function _3(e,t){let o=[];for(let r of e.processingUnits){let n=x1(r,t);if(!(n&&n.visible===false))for(let i of r.parts){if(i.partTransformation?.visible===false)continue;let a;try{a=Z(i.modules);}catch{continue}o.push({processingUnitObjectId:r.objectId,partObjectId:i.objectId,partGlobalNumber:i.globalNumber,chain:a,matrix:_1(e.orientation,n,i.partTransformation),...r.positionFrame?{positionFrame:r.positionFrame}:{},closed:g1(a)});}}return o}s(_3,"buildTrackIndex");var s0=new three.Vector3;function M1(e,t){let o=t1(e.chain,t);return o?(s0.set(o.positionMm[0],o.positionMm[1],o.positionMm[2]).applyMatrix4(e.matrix),[s0.x,s0.y,s0.z]):null}s(M1,"worldPointOnPart");function B3(e,t,o={}){let r=o.partGlobalNumber!==void 0||o.processingUnitObjectId!==void 0,n=o.coarseStepMm??(r?50:150),i=null;for(let a of e){if(o.partGlobalNumber!==void 0&&a.partGlobalNumber!==o.partGlobalNumber||o.processingUnitObjectId!==void 0&&a.processingUnitObjectId!==o.processingUnitObjectId)continue;let l=a.chain.trackLengthMm;if(l<=0)continue;let c=Math.max(2,Math.ceil(l/n)),m=0,u=1/0;for(let g=0;g<=c;g++){let h=g/c*l,y=r7(a,h,t);y!==null&&y<u&&(u=y,m=h);}let p=l/c,d=20,f=m-p;for(let g=0;g<=d;g++){let h=Er(f+2*p*g/d,0,l),y=r7(a,h,t);y!==null&&y<u&&(u=y,m=h);}if(!Number.isFinite(u)||i!==null&&u>=i.distanceMm)continue;let M=M1(a,m);M&&(i={entry:a,chainPositionMm:m,partPositionMm:O1(m,a.positionFrame),positionMm:M,distanceMm:u});}return i&&o.maxDistanceMm!==void 0?i.distanceMm<=o.maxDistanceMm?i:null:i}s(B3,"nearestTrackPoint");function r7(e,t,o){let r=M1(e,t);return r?Math.hypot(r[0]-o[0],r[1]-o[1],r[2]-o[2]):null}s(r7,"distanceToPath");function n7(e){let t=[];for(let o of e.modules)t.push(o.startPositionInPartMm);return t.push(e.trackLengthMm),t}s(n7,"moduleBoundaryPositionsMm");function i7(e){return e.modules.map(t=>t.startPositionInPartMm+t.trackLengthMm/2)}s(i7,"moduleCenterPositionsMm");function s7(e,t){let o=[];for(let r of e.stations??[])if(r.isEnabled!==false&&r.partOids.includes(t.partGlobalNumber))for(let n of r.stopPositions??[])o.push({chainPositionMm:Y1(n,r,t.positionFrame),stationId:r.stationId});return o}s(s7,"stationStopPositionsMm");function L3(e,t,o,r=25){let n=e.chain.trackLengthMm,i=Math.abs(o-t);if(!(e.closed&&n>0&&n-i<i))return F3(e,t,o,r);let[l,c]=t<=o?[t,o]:[o,t];return [...F3(e,l,0,r),...F3(e,n,c,r)]}s(L3,"trackPolylineWorld");function F3(e,t,o,r){let n=Math.abs(o-t),i=Math.max(1,Math.ceil(n/Math.max(1,r))),a=[];for(let l=0;l<=i;l++){let c=t+(o-t)*l/i,m=M1(e,c);m&&a.push(m);}return a}s(F3,"samplePathWorld");function ne(e){return t=>{let o=e.find(r=>r.partObjectId===t.partObjectId&&r.processingUnitObjectId===t.processingUnitObjectId);return o?{trackLengthMm:o.chain.trackLengthMm,closed:o.closed}:null}}s(ne,"trackMetricsResolverFor");function ie(e,t,o,r,n){let i=e.processingUnits.find(u=>u.objectId===o.processingUnitObjectId);if(!i)return null;let a=i.movers.find(u=>u.index===o.moverIndex);if(!a)return null;let l=P2(i,a.partOid,n?.(a.id));if(!l)return null;let c=t.find(u=>u.processingUnitObjectId===i.objectId&&u.partGlobalNumber===l.globalNumber);if(!c)return null;let m=r?.(a.id)??a.partPositionMm;return M1(c,K(m,c.positionFrame))}s(ie,"moverAnchorWorld");function G3(e,t,o,r){let n=e.find(a=>a.processingUnitObjectId===t&&a.partObjectId===o);if(!n)return null;let i=n.chain.modules[r];return i?M1(n,i.startPositionInPartMm+i.trackLengthMm/2):null}s(G3,"moduleAnchorWorld");function H3(e,t){let o=e.find(r=>r.processingUnitObjectId===t.processingUnitObjectId&&r.partObjectId===t.partObjectId);return o?M1(o,K(t.partPositionMm,o.positionFrame)):null}s(H3,"trackAnchorWorld");function Er(e,t,o){return e<t?t:e>o?o:e}s(Er,"clamp");function a7({store:e,getTrackIndex:t,getFormat:o}){let r=s(a=>{let l={format:o(),resolveTrack:ne(t())};return a.map(c=>n2(c,l))},"evaluateAll"),n=s(a=>r([a])[0],"evaluate"),i=s(()=>{let a=e.listMeasurements();return {measurements:a,results:r(a),annotations:e.listAnnotations(),tool:e.getTool(),draft:e.getDraft()}},"snapshot");return {setTool:s(a=>e.setTool(a),"setTool"),getTool:s(()=>e.getTool(),"getTool"),getDraft:s(()=>e.getDraft(),"getDraft"),cancel:s(()=>e.cancel(),"cancel"),finish:s(()=>e.finish(),"finish"),add:s(a=>e.addMeasurement(a),"add"),update:s((a,l)=>e.updateMeasurement(a,l),"update"),remove:s(a=>e.removeMeasurement(a),"remove"),clear:s(()=>e.clearMeasurements(),"clear"),set:s(a=>e.setMeasurements(a),"set"),list:s(()=>e.listMeasurements(),"list"),get:s(a=>e.getMeasurement(a),"get"),results:s(()=>r(e.listMeasurements()),"results"),result:s(a=>{let l=e.getMeasurement(a);return l?n(l):null},"result"),addAnnotation:s(a=>e.addAnnotation(a),"addAnnotation"),updateAnnotation:s((a,l)=>e.updateAnnotation(a,l),"updateAnnotation"),removeAnnotation:s(a=>e.removeAnnotation(a),"removeAnnotation"),clearAnnotations:s(()=>e.clearAnnotations(),"clearAnnotations"),setAnnotations:s(a=>e.setAnnotations(a),"setAnnotations"),listAnnotations:s(()=>e.listAnnotations(),"listAnnotations"),measureBetween:s((a,l,c)=>n2({id:"ad-hoc",kind:"distance",axis:c?.axis??"free",points:[{positionMm:a},{positionMm:l}]},{format:o()}),"measureBetween"),subscribe:s(a=>e.subscribe(()=>a(i())),"subscribe"),snapshot:i,toJSON:s(()=>e.toJSON(),"toJSON"),fromJSON:s(a=>e.fromJSON(a),"fromJSON")}}s(a7,"createMeasurementApi");var v1={color:"#00E5FF",draftColor:"#FFC400",annotationColor:"#FFFFFF",lineWidthPx:2,labelSizeMm:40,pointSizeMm:18,decimals:n0,unitSuffix:I3,alwaysOnTop:true};function se(e){return {color:e?.color??v1.color,draftColor:e?.draftColor??v1.draftColor,annotationColor:e?.annotationColor??v1.annotationColor,lineWidthPx:e?.lineWidthPx??v1.lineWidthPx,labelSizeMm:e?.labelSizeMm??v1.labelSizeMm,pointSizeMm:e?.pointSizeMm??v1.pointSizeMm,decimals:e?.decimals??v1.decimals,unitSuffix:e?.unitSuffix??v1.unitSuffix,...e?.fontFamily?{fontFamily:e.fontFamily}:{},alwaysOnTop:e?.alwaysOnTop??v1.alwaysOnTop}}s(se,"resolveMeasurementStyle");function a0(e){return {decimals:e.decimals,unitSuffix:e.unitSuffix}}s(a0,"formatOptionsOf");function l7(e,t=false){let o=fiber.useThree(r=>r.setFrameloop);U5.useEffect(()=>{if(!e||typeof document>"u")return;let r=t?"demand":"always",n=s(()=>{o(document.hidden?"never":r);},"handler");return n(),document.addEventListener("visibilitychange",n),()=>{document.removeEventListener("visibilitychange",n),o(r);}},[e,t,o]);}s(l7,"useAutoPauseOnHidden");function c7(e,t){let o=fiber.useThree(r=>r.invalidate);U5.useEffect(()=>{if(!(!e||!t))return t.onWrite=o,()=>{t.onWrite=null;}},[e,t,o]);}s(c7,"useDemandRendering");function u7(e){let t=fiber.useThree(r=>r.gl),o=fiber.useThree(r=>r.controls);U5.useEffect(()=>{if(!e){t.shadowMap.autoUpdate=true;return}t.shadowMap.autoUpdate=false,t.shadowMap.needsUpdate=true;let r=s(()=>{t.shadowMap.needsUpdate=true;},"handleChange");return o?.addEventListener?.("change",r),()=>{o?.removeEventListener?.("change",r),t.shadowMap.autoUpdate=true;}},[e,t,o]);}s(u7,"useShadowAutoUpdate");var Vr=U5.lazy(()=>Promise.resolve().then(()=>(f7(),d7)).then(e=>({default:e.PostProcessingEffects}))),M7=s(e=>!e.ssao&&!e.bloom?null:jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(Vr,{...e})}),"ScenePostProcessing");function Zr(e=three.REVISION){return `https://cdn.jsdelivr.net/npm/three@0.${e}.0/examples/jsm/libs/basis/`}s(Zr,"buildTranscoderUrl");var h7=null;function b7(e){h7=e,le=null;}s(b7,"setKtx2TranscoderUrl");function Kr(e){return e??h7??Zr()}s(Kr,"resolveTranscoderUrl");var le=null;function Yr(e){return le||(le=new threeStdlib.KTX2Loader,le.setTranscoderPath(Kr(e))),le}s(Yr,"getKtx2Loader");function c0(e,t={}){let o=typeof threeStdlib.MeshoptDecoder=="function"?threeStdlib.MeshoptDecoder():threeStdlib.MeshoptDecoder;if(e.setMeshoptDecoder(o),t.gl){let r=Yr(t.transcoderUrl);r.detectSupport(t.gl),e.setKTX2Loader(r);}return e}s(c0,"configureLoader");function U3(e){return t=>{c0(t,{gl:e});}}s(U3,"makeExtendLoader");var en=["map","normalMap","roughnessMap","metalnessMap","aoMap","emissiveMap"],tn={"housing-anodized-black":2,"type-plate-black":2,"stator-lamination":2,"housing-anodized-dark":2,"plastic-black-matte":1.6,"rubber-seal-black":1.6,"led-green":1.6,"led-red":1.6};function I1(e){let t=fiber.useThree(i=>i.gl),r=drei.useGLTF(e?[e]:[],true,true,U3(t))[0]??null,n=t.capabilities.getMaxAnisotropy();return U5.useMemo(()=>{if(!r)return null;let i=SkeletonUtils_js.clone(r.scene);return i.traverse(a=>{let l=a;if(!l.isMesh)return;l.castShadow=true,l.receiveShadow=true;let c=Array.isArray(l.material)?l.material:l.material?[l.material]:[];for(let m of c)z3(m,n);}),{...r,scene:i}},[r,n])}s(I1,"useGltfClone");function z3(e,t){for(let n of en){let i=e[n];if(i&&i.isTexture){let a=i;a.anisotropy<t&&(a.anisotropy=t);}}let o=e;typeof o.envMapIntensity=="number"&&o.envMapIntensity===0&&(o.envMapIntensity=1);let r=e.userData?.xtsMaterial;if(typeof r=="string"){let n=tn[r];n!==void 0&&(o.envMapIntensity??1)<n&&(o.envMapIntensity=n);}}s(z3,"applyMaterialPbrTuning");L1();var ln="#FFB000",cn="#E03030",mn=.45,y7=.2,T7=.65,un=1,pn=T7;function dn({selected:e,selectionColor:t,feedSegmentColor:o,highlightColor:r,driveStatus:n,showWarnings:i,showErrors:a}){return n?.error&&a!==false?{kind:"blink",color:cn}:n?.warning&&i!==false?{kind:"blink",color:ln}:e&&t?{kind:"selected",color:t}:o?{kind:"selected",color:o}:r?{kind:"selected",color:r}:{kind:"none"}}s(dn,"pickMode");function D2(e,t){let o=dn(t),r=p1(),n=o.kind==="none"?"none":`${o.kind}:${o.color}`,i=U5.useRef([]);U5.useEffect(()=>{if(!e||o.kind==="none")return;let a=new three.Color(o.color),l=[],c=[],m=s(u=>{let p=u.clone();if("emissive"in p){let d=p;d.emissive.copy(a),d.emissiveIntensity=mn,c.push(d);}return p},"cloneOne");return e.scene.traverse(u=>{let p=u;if(!p.isMesh||!p.material)return;let d=Array.isArray(p.material)?p.material.map(m):m(p.material);l.push({mesh:p,original:p.material,cloned:d}),p.material=d;}),i.current=c,()=>{for(let{mesh:u,original:p,cloned:d}of l)u.material=p,Array.isArray(d)?d.forEach(f=>f.dispose()):d.dispose();i.current=[];}},[e,n]),fiber.useFrame(({clock:a,invalidate:l})=>{if(o.kind!=="blink"||i.current.length===0)return;let c=a.getElapsedTime(),m=.5+.5*Math.sin(2*Math.PI*un*c),u=y7+(T7-y7)*m;for(let p of i.current)p.emissiveIntensity=u;l();}),U5.useLayoutEffect(()=>{if(r)return r.registerPrepare(()=>{if(o.kind!=="blink"||i.current.length===0)return;let a=i.current,l=a.map(c=>c.emissiveIntensity);for(let c of a)c.emissiveIntensity=pn;return ()=>{a.forEach((c,m)=>{c.emissiveIntensity=l[m];});}})},[r,o.kind]);}s(D2,"useGltfHighlight");var m0=U5__default.default.createContext(null);var Q=s(({pose:e,defaultPositionMm:t,name:o,userData:r,children:n})=>{let{positionMm:i,rotationRad:a,scale:l,visible:c}=C2(e,t);return jsxRuntime.jsx("group",{name:o||void 0,userData:r,position:i,rotation:[a[0],a[1],a[2],"XYZ"],scale:l,visible:c,children:n})},"PoseGroup");var yn=s(({glbUrl:e,positionMm:t=[0,0,0],rotationDegEuler:o=[0,0,0],scale:r=1,opacity:n=1,visible:i=true,placeholderSizeMm:a=[50,50,50],selected:l=false,selectionColor:c,onClick:m})=>{let u=I1(e??""),p=U5.useContext(m0);return D2(u,{selected:l||(p?.selected??false),selectionColor:c??p?.color??"#FFE090"}),U5.useEffect(()=>{if(!u||n>=1)return;let d=[],f=s(M=>{let g=M.clone();return g.transparent=true,g.opacity=n,g.depthWrite=false,g.needsUpdate=true,g},"cloneOne");return u.scene.traverse(M=>{let g=M;if(!g.isMesh||!g.material)return;let h=Array.isArray(g.material)?g.material.map(f):f(g.material);d.push({mesh:g,original:g.material,cloned:h}),g.material=h;}),()=>{for(let{mesh:M,original:g,cloned:h}of d)M.material=g,Array.isArray(h)?h.forEach(y=>y.dispose()):h.dispose();}},[u,n]),i?jsxRuntime.jsx(Q,{pose:{positionMm:t,rotationDegEuler:o,scaleUniform:r},children:jsxRuntime.jsx("group",{...m?{onClick:m}:{},children:u?jsxRuntime.jsx("primitive",{object:u.scene}):jsxRuntime.jsxs("mesh",{children:[jsxRuntime.jsx("boxGeometry",{args:a}),jsxRuntime.jsx("meshBasicMaterial",{color:"#88FF88",wireframe:true,transparent:true,opacity:.6})]})})}):null},"Inner"),j1=s(e=>jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(yn,{...e})}),"CustomAssetMesh");var x7=s(({assets:e,selection:t,selectionColor:o,onAssetClick:r,poseOverrides:n})=>jsxRuntime.jsx("group",{name:"xts-custom-assets-static",children:e.filter(i=>i.visible!==false&&i.binding.type==="static").map(i=>{let a=i.binding,l=n?.[i.id];return jsxRuntime.jsx(j1,{glbUrl:i.glbUrl,positionMm:l?.positionMm??a.positionMm,rotationDegEuler:l?.rotationDegEuler??a.rotationDegEuler,scale:l?.scaleUniform??a.scale??1,opacity:i.opacity,selected:t?Be(t,{assetId:i.id}):false,selectionColor:o,...r?{onClick:s(c=>{c.stopPropagation(),r({assetId:i.id},c);},"onClick")}:{}},i.id)})}),"XtsCustomAssets");L1();var V3=new three.Quaternion,v7=new three.Quaternion;function xn(e,t){let o=e.quaternion.clone();return t.getWorldQuaternion(V3),e.parent&&(e.parent.getWorldQuaternion(v7),V3.premultiply(v7.invert())),e.quaternion.copy(V3),e.updateMatrix(),e.updateMatrixWorld(true),()=>{e.quaternion.copy(o),e.updateMatrix(),e.updateMatrixWorld(true);}}s(xn,"orientToCamera");function F2(e,t=true){let o=p1();U5.useLayoutEffect(()=>{if(!(!o||!t))return o.registerCameraDependent(r=>{let n=e.current;if(n)return xn(n,r)})},[o,t,e]);}s(F2,"useCaptureBillboard");/*! Roboto Condensed is (c) Google, licensed under the Apache License,
|
|
5
|
-
Version 2.0 — https://www.apache.org/licenses/LICENSE-2.0 */var X3="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";var S7="https://cdn.jsdelivr.net/npm/@fontsource/roboto-condensed@5.2.7/files/roboto-condensed-latin-400-normal.woff",Pn=8e3;function Sn(e){if(typeof atob=="function"){let t=atob(e),o=new Uint8Array(t.length);for(let r=0;r<t.length;r++)o[r]=t.charCodeAt(r);return o}return new Uint8Array(Buffer.from(e,"base64"))}s(Sn,"decodeBase64");var ce=null;function O7(){if(ce)return ce;try{let e=Sn(X3);ce=URL.createObjectURL(new Blob([e],{type:"font/woff"}));}catch{ce=`data:font/woff;base64,${X3}`;}return ce}s(O7,"bundledLabelFontUrl");function On(e){return !e||e===S7}s(On,"isBundledLabelFont");var P7=new Map;function Rn(e){let t=P7.get(e);if(t)return t;let o=(async()=>{if(typeof fetch!="function")return "failed";let r=typeof AbortController=="function"?new AbortController:null,n=r?setTimeout(()=>r.abort(),Pn):null;try{let i=await fetch(e,{...r?{signal:r.signal}:{}});if(!i.ok)throw new Error(`status ${i.status}`);return await i.arrayBuffer(),"ok"}catch(i){return console.warn(`[XtsViewer3D] label font ${e} could not be loaded (${i?.message??i}) \u2014 falling back to the built-in Roboto Condensed. Labels still render.`),"failed"}finally{n&&clearTimeout(n);}})();return P7.set(e,o),o}s(Rn,"probeLabelFont");var W3=new Set;function _2(e){let t=On(e)?null:e,[,o]=U5.useReducer(r=>r+1,0);return U5.useEffect(()=>{if(!t||W3.has(t))return;let r=true;return Rn(t).then(n=>{n==="ok"&&(W3.add(t),r&&o());}),()=>{r=false;}},[t]),t&&W3.has(t)?t:O7()}s(_2,"useLabelFontUrl");var A1=s(({positionMm:e,text:t,sizeMm:o=30,color:r="#88AAFF",liftMm:n,fontFamily:i,depthTest:a=true})=>{let l=n??o,c=_2(i),m=U5.useRef(null);return F2(m),jsxRuntime.jsx(drei.Billboard,{ref:m,position:[e[0],e[1],e[2]+l],follow:true,lockX:false,lockY:false,lockZ:false,children:jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{...a?{}:{renderOrder:999,"material-depthTest":false},fontSize:o,color:r,anchorX:"center",anchorY:"middle",outlineWidth:o*.012,outlineColor:"#000000",outlineOpacity:.5,font:c,children:t})})})},"DimensionLabel");var N1=s(({position:e,tangent:t,shape:o,sizeMm:r,color:n})=>{let i=U5.useMemo(()=>{let l=new three.Quaternion;return l.setFromUnitVectors(new three.Vector3(1,0,0),t.clone().normalize()),l},[t]);if(o==="None")return null;let a=r/2;switch(o){case "Diamond":return jsxRuntime.jsxs("mesh",{position:e,quaternion:i,children:[jsxRuntime.jsx("octahedronGeometry",{args:[a,0]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Tick":return jsxRuntime.jsxs("mesh",{position:e,quaternion:i,children:[jsxRuntime.jsx("boxGeometry",{args:[r*.4,r*1.5,r*.6]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Sphere":return jsxRuntime.jsxs("mesh",{position:e,children:[jsxRuntime.jsx("sphereGeometry",{args:[a,16,12]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Cube":return jsxRuntime.jsxs("mesh",{position:e,quaternion:i,children:[jsxRuntime.jsx("boxGeometry",{args:[r,r,r]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Cone":return jsxRuntime.jsxs("mesh",{position:e,rotation:[Math.PI/2,0,0],children:[jsxRuntime.jsx("coneGeometry",{args:[a,r,16]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Cylinder":return jsxRuntime.jsxs("mesh",{position:e,rotation:[Math.PI/2,0,0],children:[jsxRuntime.jsx("cylinderGeometry",{args:[a*.6,a*.6,r,16]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});default:return null}},"PathMarker");L1();var zn=[0,0,250],Vn=new three.Vector3(1,0,0),Xn=new three.Vector3(0,0,0),I7=s(({annotation:e,config:t,trackIndex:o,style:r})=>{let n=U5.useRef(null),i=U5.useContext(o1),a=p1(),c=e.anchor.kind==="mover",m=U5.useMemo(()=>R7(e,t,o,void 0),[e,t,o]),u=U5.useCallback(()=>{if(!c)return;let g=n.current;if(!g)return;let h=R7(e,t,o,y=>i?.get(y));h&&g.position.set(h[0],h[1],h[2]);},[e,t,o,c,i]);if(fiber.useFrame(u),U5.useLayoutEffect(()=>a?.registerTransform(u),[a,u]),!m)return null;let p=e.color??r.annotationColor,d=e.offsetMm??zn,f=e.markerSizeMm??r.pointSizeMm,M=e.sizeMm??r.labelSizeMm;return jsxRuntime.jsxs("group",{ref:n,position:m,children:[jsxRuntime.jsx(N1,{position:Xn,tangent:Vn,shape:e.markerShape??"Sphere",sizeMm:f,color:p}),jsxRuntime.jsx(drei.Line,{points:[[0,0,0],d],color:p,lineWidth:r.lineWidthPx,depthTest:!r.alwaysOnTop,transparent:r.alwaysOnTop,renderOrder:r.alwaysOnTop?998:0}),jsxRuntime.jsx(A1,{positionMm:d,text:e.text,sizeMm:M,color:p,liftMm:M*.7,depthTest:!r.alwaysOnTop,fontFamily:r.fontFamily||void 0})]})},"AnnotationView");function R7(e,t,o,r){let n=e.anchor;switch(n.kind){case "world":return n.positionMm;case "mover":return ie(t,o,n.ref,r);case "module":return G3(o,n.ref.processingUnitObjectId,n.ref.partObjectId,n.ref.moduleIndex);case "trackPosition":return H3(o,{processingUnitObjectId:n.processingUnitObjectId,partObjectId:n.partObjectId,partPositionMm:n.partPositionMm})}}s(R7,"resolveAnchorWorld");var u0="xts-pick-root",me="xtsTag",k7="xtsInstancedMovers",Y3="xtsNoPick";function w7(e){return {[me]:{kind:"xpu",processingUnitObjectId:e}}}s(w7,"xpuTag");function q3(e,t){return {[me]:{kind:"part",partObjectId:e,partGlobalNumber:t}}}s(q3,"partTag");function D7(e){return {[me]:{kind:"module",moduleIndex:e}}}s(D7,"moduleTag");function F7(e,t){return {[me]:{kind:"mover",moverIndex:e,moverId:t}}}s(F7,"moverTag");function _7(e){return {[k7]:[...e]}}s(_7,"instancedMoversTag");function B7(e){for(let t=e;t;t=t.parent)if(t.userData?.[Y3]===true)return true;return false}s(B7,"isPickBlocked");function J3(e,t){let o={};if(t!==void 0&&e){let n=e.userData?.[k7]?.[t];n&&(o.moverIndex=n.moverIndex,o.moverId=n.moverId);}for(let r=e;r;r=r.parent){let n=r.userData?.[me];n&&(o.processingUnitObjectId===void 0&&n.processingUnitObjectId!==void 0&&(o.processingUnitObjectId=n.processingUnitObjectId),o.partObjectId===void 0&&n.partObjectId!==void 0&&(o.partObjectId=n.partObjectId),o.partGlobalNumber===void 0&&n.partGlobalNumber!==void 0&&(o.partGlobalNumber=n.partGlobalNumber),o.moduleIndex===void 0&&n.moduleIndex!==void 0&&(o.moduleIndex=n.moduleIndex),o.moverIndex===void 0&&n.moverIndex!==void 0&&(o.moverIndex=n.moverIndex),o.moverId===void 0&&n.moverId!==void 0&&(o.moverId=n.moverId));}return o}s(J3,"resolveSceneContext");function Q3(e){return e.moverIndex!==void 0&&e.processingUnitObjectId!==void 0?{kind:"mover",ref:{processingUnitObjectId:e.processingUnitObjectId,moverIndex:e.moverIndex}}:e.moduleIndex!==void 0&&e.partObjectId!==void 0&&e.processingUnitObjectId!==void 0?{kind:"module",ref:{processingUnitObjectId:e.processingUnitObjectId,partObjectId:e.partObjectId,moduleIndex:e.moduleIndex}}:null}s(Q3,"toEntityRef");function Zn(e,t){return Q3(J3(e,t))}s(Zn,"resolveEntityFromObject");var Yn=s(({config:e,trackIndex:t,style:o})=>{let r=r0();W5(r);let n=U5.useMemo(()=>se(o),[o]),i=r?r.listMeasurements():[],a=r?r.listAnnotations():[],l=r?r.getDraft():null,c=U5.useMemo(()=>ne(t),[t]),m=U5.useMemo(()=>a0(n),[n]);return jsxRuntime.jsxs("group",{name:"xts-measurements",userData:{[Y3]:true},children:[i.map(u=>u.visible===false?null:jsxRuntime.jsx(qn,{measurement:u,result:n2(u,{format:m,resolveTrack:c}),trackIndex:t,style:n},u.id)),l&&jsxRuntime.jsx(Qn,{draft:l,style:n,trackIndex:t,format:m}),a.map(u=>u.visible===false?null:jsxRuntime.jsx(I7,{annotation:u,config:e,trackIndex:t,style:n},u.id))]})},"MeasurementOverlayImpl"),$3=U5__default.default.memo(Yn);$3.displayName="MeasurementOverlay";var qn=s(({measurement:e,result:t,trackIndex:o,style:r})=>{let n=e.color??r.color,i=e.points.map(l=>l.positionMm),a=L7(e.label,ei(e,t));switch(e.kind){case "distance":{let[l,c]=e.points,m=l.positionMm,u=c.positionMm;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:[m,u],color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),e.showComponents&&jsxRuntime.jsx($n,{a:m,b:u,color:n,style:r}),jsxRuntime.jsx(s2,{positionMm:re(e),text:a,color:n,style:r})]})}case "angle":{let[l,c,m]=e.points,u=l.positionMm,p=c.positionMm,d=m.positionMm,f=w3(u,p,d,D3(u,p,d));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:[u,p],color:n,style:r}),jsxRuntime.jsx(U1,{points:[p,d],color:n,style:r}),f.length>=2&&jsxRuntime.jsx(U1,{points:f,color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),jsxRuntime.jsx(s2,{positionMm:re(e),text:a,color:n,style:r})]})}case "path":{let l=i[0],c=e.closed&&l?[...i,l]:i,m=e.showSegmentLengths!==false;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:c,color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),m&&(t.segmentLengthsMm??[]).map((u,p)=>{let d=c[p],f=c[p+1];return !d||!f?null:jsxRuntime.jsx(s2,{positionMm:j7(d,f),text:G1(u,{decimals:r.decimals,unitSuffix:r.unitSuffix}),color:n,style:r,sizeMm:r.labelSizeMm*.75},`seg-${p}`)}),jsxRuntime.jsx(s2,{positionMm:i[i.length-1]??[0,0,0],text:L7(e.label,`\u03A3 ${t.text}`),color:n,style:r})]})}case "trackDistance":{let c=Jn(e.points,o)??i;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:c,color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),jsxRuntime.jsx(s2,{positionMm:c[Math.floor(c.length/2)]??re(e),text:a,color:n,style:r})]})}}},"MeasurementView");function Jn(e,t){let[o,r]=e;if(!o?.track||!r?.track||o.track.processingUnitObjectId!==r.track.processingUnitObjectId||o.track.partObjectId!==r.track.partObjectId)return null;let n=t.find(a=>a.processingUnitObjectId===o.track?.processingUnitObjectId&&a.partObjectId===o.track?.partObjectId);if(!n)return null;let i=L3(n,K(o.track.partPositionMm,n.positionFrame),K(r.track.partPositionMm,n.positionFrame));return i.length>=2?i:null}s(Jn,"trackPolyline");var Qn=s(({draft:e,style:t,trackIndex:o,format:r})=>{let n=t.draftColor,i=e.points.map(c=>c.positionMm),a=e.hover?[...i,e.hover.positionMm]:i,l=U5.useMemo(()=>{if(e.tool==="annotation"||!e.hover)return null;let c=[...e.points,e.hover];if(c.length<r2[e.tool])return null;let m=e.tool==="path"?c:c.slice(-r2[e.tool]);return n2({id:"draft",kind:e.tool,points:m},{format:r,resolveTrack:ne(o)})},[e,r,o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a.length>=2&&jsxRuntime.jsx(U1,{points:a,color:n,style:t,dashed:true}),jsxRuntime.jsx(ue,{points:i,color:n,style:t}),e.hover&&jsxRuntime.jsx(H7,{positionMm:e.hover.positionMm,color:n,style:t,sizeMm:e.hover.snap&&e.hover.snap!=="free"?t.pointSizeMm*1.6:t.pointSizeMm}),l&&e.hover&&jsxRuntime.jsx(s2,{positionMm:e.hover.positionMm,text:l.text,color:n,style:t})]})},"DraftView"),U1=s(({points:e,color:t,style:o,dashed:r=false})=>e.length<2?null:jsxRuntime.jsx(drei.Line,{points:e,color:t,lineWidth:o.lineWidthPx,dashed:r,...r?{dashSize:40,gapSize:24}:{},depthTest:!o.alwaysOnTop,transparent:o.alwaysOnTop,renderOrder:o.alwaysOnTop?998:0}),"MeasureLine"),H7=s(({positionMm:e,color:t,style:o,sizeMm:r})=>jsxRuntime.jsxs("mesh",{position:e,renderOrder:o.alwaysOnTop?999:0,raycast:()=>null,children:[jsxRuntime.jsx("sphereGeometry",{args:[(r??o.pointSizeMm)/2,16,12]}),jsxRuntime.jsx("meshBasicMaterial",{color:t,depthTest:!o.alwaysOnTop,transparent:o.alwaysOnTop})]}),"MeasurePoint"),ue=s(({points:e,color:t,style:o})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.map((r,n)=>jsxRuntime.jsx(H7,{positionMm:r,color:t,style:o},n))}),"Endpoints"),s2=s(({positionMm:e,text:t,color:o,style:r,sizeMm:n})=>{let i=n??r.labelSizeMm;return jsxRuntime.jsx(A1,{positionMm:e,text:t,sizeMm:i,color:o,liftMm:i*.7,depthTest:!r.alwaysOnTop,fontFamily:r.fontFamily||void 0})},"ValueLabel"),$n=s(({a:e,b:t,color:o,style:r})=>{let n=[t[0],e[1],e[2]],i=[t[0],t[1],e[2]];return jsxRuntime.jsx(jsxRuntime.Fragment,{children:[{from:e,to:n,axis:"X"},{from:n,to:i,axis:"Y"},{from:i,to:t,axis:"Z"}].map(({from:l,to:c,axis:m})=>{let u=Math.hypot(c[0]-l[0],c[1]-l[1],c[2]-l[2]);return u<1e-6?null:jsxRuntime.jsxs(U5__default.default.Fragment,{children:[jsxRuntime.jsx(U1,{points:[l,c],color:o,style:r,dashed:true}),jsxRuntime.jsx(s2,{positionMm:j7(l,c),text:`\u0394${m} ${G1(u,{decimals:r.decimals,unitSuffix:r.unitSuffix})}`,color:o,style:r,sizeMm:r.labelSizeMm*.7})]},m)})})},"ComponentGuides");function ei(e,t){if(e.kind==="distance"){let o=e.axis??"free";if(o!=="free")return `\u0394${o.toUpperCase()} ${t.text}`}return t.text}s(ei,"labelTextOf");function L7(e,t){return e?`${e}
|
|
6
|
-
${t}`:t}s(L7,"withCaption");function j7(e,t){return [(e[0]+t[0])/2,(e[1]+t[1])/2,(e[2]+t[2])/2]}s(j7,"midpoint");var M0=["vertex","edge-midpoint","mover-center","module-boundary","module-center","station-stop","track-path","face-center","grid"],h0=14;function t6(e,t,o,r={}){let n=r.kinds??M0,i=r.radiusPx??h0,a=null,l=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;for(let m of e){let u=n.indexOf(m.kind);if(u===-1||u>l)continue;let p=t(m.positionMm);if(!p)continue;let d=Math.hypot(p.x-o.x,p.y-o.y);d>i||(u<l||d<c)&&(a=m,l=u,c=d);}return a}s(t6,"chooseSnapCandidate");var d0=new three.Vector3,f0=new three.Vector3,g0=new three.Vector3,pe=new three.Matrix4,N7=new three.Matrix4;function o6(e,t){let o=e.face;if(!o)return [];let n=e.object.geometry?.attributes?.position;if(!n)return [];let i=n.count;if(o.a>=i||o.b>=i||o.c>=i)return [];pe.copy(e.object.matrixWorld);let a=e.object.instanceMatrix;e.instanceId!==void 0&&a&&(N7.fromArray(a.array,e.instanceId*16),pe.multiply(N7)),d0.fromBufferAttribute(n,o.a).applyMatrix4(pe),f0.fromBufferAttribute(n,o.b).applyMatrix4(pe),g0.fromBufferAttribute(n,o.c).applyMatrix4(pe);let l=[[d0.x,d0.y,d0.z],[f0.x,f0.y,f0.z],[g0.x,g0.y,g0.z]],c=s((f,M)=>t?{kind:f,positionMm:M,entity:t}:{kind:f,positionMm:M},"withEntity"),m=l.map(f=>c("vertex",f));for(let f=0;f<3;f++){let M=l[f],g=l[(f+1)%3];m.push(c("edge-midpoint",[(M[0]+g[0])/2,(M[1]+g[1])/2,(M[2]+g[2])/2]));}let[u,p,d]=l;return m.push(c("face-center",[(u[0]+p[0]+d[0])/3,(u[1]+p[1]+d[1])/3,(u[2]+p[2]+d[2])/3])),m}s(o6,"collectTriangleSnapCandidates");function r6(e,t){return t>0?[Math.round(e[0]/t)*t,Math.round(e[1]/t)*t,Math.round(e[2]/t)*t]:e}s(r6,"snapToGrid");var ci=4,mi=400,ui=2e3,V7=s(({config:e,trackIndex:t,snap:o,groundPlaneZMm:r=0,annotationTextFactory:n})=>{let i=r0(),a=fiber.useThree(y=>y.gl),l=fiber.useThree(y=>y.camera),c=fiber.useThree(y=>y.scene),m=fiber.useThree(y=>y.size),u=fiber.useThree(y=>y.invalidate),p=U5.useContext(o1),d=Z5(i),f=U5.useMemo(()=>new three.Raycaster,[]),M=U5.useRef(null),g=d!=="none",h=U5.useCallback((y,v)=>{let A=a.domElement.getBoundingClientRect();if(A.width===0||A.height===0)return null;let b={x:y-A.left,y:v-A.top},T=new three.Vector2(b.x/A.width*2-1,-(b.y/A.height)*2+1);f.setFromCamera(T,l);let x=di(f,c),C=x?[x.point.x,x.point.y,x.point.z]:gi(f,r);if(!C)return null;let S=J3(x?.object??null,x?.instanceId??void 0),R=Q3(S),k=o?.enabled!==false,I=o?.kinds??M0,F=hi(t,C,S.partGlobalNumber,S.processingUnitObjectId),_={positionMm:C,snap:"free",...R?{entity:R}:{}};if(k){let D=[...x?o6({object:x.object,face:x.face,instanceId:x.instanceId??void 0},R??void 0):[],...yi({config:e,trackIndex:t,projection:F,context:S,entity:R,getLivePositionMm:s(O=>p?.get(O),"getLivePositionMm")})],L=t6(D,Mi(l,m.width,m.height),b,{kinds:I,radiusPx:o?.radiusPx??h0});if(L){let O=L.entity??R;_={positionMm:L.positionMm,snap:L.kind,...O?{entity:O}:{},...L.track?{track:L.track}:{}};}else I.includes("grid")&&(o?.gridMm??0)>0&&(_={..._,positionMm:r6(C,o?.gridMm??0),snap:"grid"});}return !_.track&&F&&Math.hypot(F.positionMm[0]-_.positionMm[0],F.positionMm[1]-_.positionMm[1],F.positionMm[2]-_.positionMm[2])<=mi&&(_={..._,track:bi(F)}),_},[l,e,a,r,p,f,c,m.height,m.width,o,t]);return U5.useEffect(()=>{if(!i||!g)return;let y=a.domElement,v=s(R=>{i.setHover(h(R.clientX,R.clientY)),u();},"onPointerMove"),P=s(()=>{i.setHover(null),u();},"onPointerLeave"),A=s(R=>{M.current={x:R.clientX,y:R.clientY};},"onPointerDown"),b=s(R=>{let k=M.current;if(M.current=null,!k||Math.hypot(R.clientX-k.x,R.clientY-k.y)>ci)return;if(R.button===2){i.cancel(),u();return}if(R.button!==0)return;let I=h(R.clientX,R.clientY);if(I){if(i.getTool()==="annotation"){let F=n?n(I):"Annotation";F!==null&&i.addAnnotation({text:F,anchor:{kind:"world",positionMm:I.positionMm}});}else i.pushPoint(I);u();}},"onPointerUp"),T=s(()=>{i.finish(),u();},"onDoubleClick"),x=s(R=>{R.preventDefault();},"onContextMenu"),C=s(R=>{pi(R.target)||(R.key==="Escape"?(i.cancel(),u()):R.key==="Enter"&&(i.finish(),u()));},"onKeyDown");y.addEventListener("pointermove",v),y.addEventListener("pointerleave",P),y.addEventListener("pointerdown",A),y.addEventListener("pointerup",b),y.addEventListener("dblclick",T),y.addEventListener("contextmenu",x),window.addEventListener("keydown",C);let S=y.style.cursor;return y.style.cursor="crosshair",()=>{y.removeEventListener("pointermove",v),y.removeEventListener("pointerleave",P),y.removeEventListener("pointerdown",A),y.removeEventListener("pointerup",b),y.removeEventListener("dblclick",T),y.removeEventListener("contextmenu",x),window.removeEventListener("keydown",C),y.style.cursor=S,i.setHover(null);}},[n,a,u,h,i,g]),null},"MeasurementInteraction");function pi(e){let t=e;if(!t||typeof t.tagName!="string")return false;let o=t.tagName.toUpperCase();return o==="INPUT"||o==="TEXTAREA"||o==="SELECT"||t.isContentEditable===true}s(pi,"isEditableTarget");function di(e,t){let o=t.getObjectByName(u0);if(!o)return null;for(let r of e.intersectObject(o,true))if(!B7(r.object))return r;return null}s(di,"firstPickableHit");var z7=new three.Plane,fi=new three.Vector3;function gi(e,t){if(t===null)return null;z7.set(new three.Vector3(0,0,1),-t);let o=e.ray.intersectPlane(z7,fi);return o?[o.x,o.y,o.z]:null}s(gi,"intersectGroundPlane");var b0=new three.Vector3;function Mi(e,t,o){return r=>(b0.set(r[0],r[1],r[2]).project(e),b0.z>1?null:{x:(b0.x*.5+.5)*t,y:(-b0.y*.5+.5)*o})}s(Mi,"makeProjector");function hi(e,t,o,r){return e.length===0?null:B3(e,t,{...o!==void 0?{partGlobalNumber:o}:{},...r!==void 0?{processingUnitObjectId:r}:{}})}s(hi,"projectOntoTrack");function bi(e){return {processingUnitObjectId:e.entry.processingUnitObjectId,partObjectId:e.entry.partObjectId,partPositionMm:e.partPositionMm}}s(bi,"trackAnchorOf");function yi(e){let{config:t,trackIndex:o,projection:r,context:n,entity:i}=e,a=[];if(i?.kind==="mover"){let u=ie(t,o,i.ref,e.getLivePositionMm);u&&a.push({kind:"mover-center",positionMm:u,entity:i});}if(!r)return a;let l=r.entry,c=s(u=>({processingUnitObjectId:l.processingUnitObjectId,partObjectId:l.partObjectId,partPositionMm:O1(u,l.positionFrame)}),"anchorFor"),m=s(u=>Math.abs(u-r.chainPositionMm)<=ui,"near");a.push({kind:"track-path",positionMm:r.positionMm,track:c(r.chainPositionMm),...n.moduleIndex!==void 0&&i?{entity:i}:{}});for(let u of n7(l.chain)){if(!m(u))continue;let p=M1(l,u);p&&a.push({kind:"module-boundary",positionMm:p,track:c(u)});}for(let u of i7(l.chain)){if(!m(u))continue;let p=M1(l,u);p&&a.push({kind:"module-center",positionMm:p,track:c(u)});}for(let u of s7(t,l)){if(!m(u.chainPositionMm))continue;let p=M1(l,u.chainPositionMm);p&&a.push({kind:"station-stop",positionMm:p,entity:{kind:"station",stationId:u.stationId},track:c(u.chainPositionMm)});}return a}s(yi,"semanticCandidates");var W7=s(({intensity:e=.4})=>{let t=fiber.useThree(r=>r.gl),o=fiber.useThree(r=>r.scene);return U5.useEffect(()=>{let r=new three.PMREMGenerator(t);r.compileEquirectangularShader();let n=new RoomEnvironment_js.RoomEnvironment,i=r.fromScene(n,.04),a=i.texture,l=o.environment;o.environment=a;let c=o,m=c.environmentIntensity;return "environmentIntensity"in o&&(c.environmentIntensity=e),()=>{o.environment=l,"environmentIntensity"in o&&(c.environmentIntensity=m??1),r.dispose(),i.dispose();}},[t,o,e]),null},"SceneEnvironment");var K7=s(({shadows:e,environmentLighting:t,environmentIntensity:o})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t&&jsxRuntime.jsx(W7,{intensity:o}),jsxRuntime.jsx("ambientLight",{intensity:t?.25:.6}),!t&&jsxRuntime.jsx("hemisphereLight",{color:"#cfdfee",groundColor:"#454c52",intensity:.35}),jsxRuntime.jsx("directionalLight",{position:[1500,1500,3e3],intensity:t?1.1:.8,castShadow:e,"shadow-mapSize-width":4096,"shadow-mapSize-height":4096,"shadow-radius":6,"shadow-blurSamples":16,"shadow-camera-near":500,"shadow-camera-far":8e3,"shadow-camera-left":-3500,"shadow-camera-right":3500,"shadow-camera-top":3500,"shadow-camera-bottom":-3500,"shadow-bias":-5e-4,"shadow-normalBias":1.5}),jsxRuntime.jsx("directionalLight",{position:[-1e3,-1e3,1500],intensity:t?.18:.3,color:"#dde7ff"}),e&&jsxRuntime.jsxs("mesh",{position:[0,0,-1],receiveShadow:true,renderOrder:-1,children:[jsxRuntime.jsx("planeGeometry",{args:[2e4,2e4]}),jsxRuntime.jsx("shadowMaterial",{transparent:true,opacity:.32})]})]}),"SceneLighting");var C0=[.62,.045,.045],i6=[.09,.22],s6=[.46,.045,.045],fe=.14,Q7=[1.15,.028],$7=.28,x0=.12,e4=.08,J7=.08,Ai={x:[0,Math.PI/2,0],y:[Math.PI/2,0,0],z:[0,0,0]};function t4(e){if(e==="translate"){let[t]=C0,[,o]=i6;return [J7,t+o+x0]}return e==="scale"?[-J7,-0.67]:null}s(t4,"handleSpan");function o4(e,t=S1){let o=Le(t);return e.flatMap(r=>o.map(({axis:n,color:i,rotation:a})=>({id:`${r}-${n}`,mode:r,axis:n,color:i,direction:[...Q2[n]],rotation:r==="rotate"?[...Ai[n]]:a})))}s(o4,"buildTransformHandles");var y0=1e-6;function l6(e,t,o){let r=new three.Vector3().subVectors(t,e.origin),n=o.dot(e.direction),i=1-n*n;if(Math.abs(i)<y0)return null;let a=o.dot(r),l=e.direction.dot(r);return (n*l-a)/i}s(l6,"closestPointOnAxis");function c6(e,t,o){let r=o.dot(e.direction);if(Math.abs(r)<y0)return null;let n=new three.Vector3().subVectors(t,e.origin).dot(o)/r;return n<=0?null:e.origin.clone().addScaledVector(e.direction,n)}s(c6,"intersectRayPlane");function r4(e,t,o){let r=t.clone().projectOnPlane(e),n=o.clone().projectOnPlane(e);if(r.lengthSq()<y0||n.lengthSq()<y0)return 0;r.normalize(),n.normalize();let i=new three.Vector3().crossVectors(r,n).dot(e),a=Math.min(Math.max(r.dot(n),-1),1);return Math.atan2(i,a)/j}s(r4,"signedAngleAround");function v0(e,t){return !t||t<=0?e:Math.round(e/t)*t}s(v0,"snapValue");function n4(e,t,o){let[r,n,i]=Q2[t],[a,l,c]=e.positionMm;return {...e,positionMm:[a+r*o,l+n*o,c+i*o]}}s(n4,"translatePose");function i4(e,t,o){let[r,n,i]=e.rotationDegEuler,a=new three.Quaternion().setFromEuler(new three.Euler(r*j,n*j,i*j,"XYZ")),l=new three.Quaternion().setFromAxisAngle(new three.Vector3(...Q2[t]),o*j),c=new three.Euler().setFromQuaternion(l.multiply(a),"XYZ");return {...e,rotationDegEuler:[c.x/j,c.y/j,c.z/j]}}s(i4,"rotatePose");function s4(e,t,o=.05){return {...e,scaleUniform:Math.max(o,e.scaleUniform*t)}}s(s4,"scalePose");function a4({sizePx:e,viewportHeightPx:t,perspective:o,orthographic:r}){return t<=0?1:o?2*Math.tan(o.fovDeg*j/2)*o.distanceMm/t*e:r?r.worldHeightMm/t*e:1}s(a4,"gizmoWorldScale");var wi=.001,m6=1e3,u6="xtsTransformHandleId",m4=s(({pose:e,handles:t,axisColors:o,sizePx:r,translateSnapMm:n,rotateSnapDeg:i,scaleSnap:a,minScale:l,onDragStart:c,onDrag:m,onDragEnd:u})=>{let p=U5.useRef(null),d=U5.useRef(null),f=U5.useRef(null),M=U5.useRef(new three.Raycaster),[g,h]=U5.useState(null),[y,v]=U5.useState(null),P=U5.useRef(null),A=U5.useRef({onDragStart:c,onDrag:m,onDragEnd:u});A.current={onDragStart:c,onDrag:m,onDragEnd:u};let b=U5.useRef(null),T=fiber.useThree(O=>O.camera),x=fiber.useThree(O=>O.gl),C=fiber.useThree(O=>O.invalidate),S=fiber.useThree(O=>O.size.height),R=fiber.useThree(O=>O.controls),k=U5.useMemo(()=>o4(t,o),[t,o]);fiber.useFrame(()=>{let O=d.current;if(!O)return;let B=O.getWorldPosition(new three.Vector3);O.scale.setScalar(a4({sizePx:r,viewportHeightPx:S,...T instanceof three.PerspectiveCamera?{perspective:{fovDeg:T.fov,distanceMm:T.position.distanceTo(B)}}:{},...T instanceof three.OrthographicCamera?{orthographic:{worldHeightMm:(T.top-T.bottom)/(T.zoom||1)}}:{}}));});let I=U5.useCallback(O=>{let B=x.domElement.getBoundingClientRect();if(B.width===0||B.height===0)return null;let N=M.current;return N.setFromCamera(new three.Vector2((O.clientX-B.left)/B.width*2-1,-((O.clientY-B.top)/B.height)*2+1),T),{origin:N.ray.origin.clone(),direction:N.ray.direction.clone().normalize()}},[T,x]),F=U5.useCallback(O=>{let B=I(O),N=d.current;if(!B||!N)return null;N.updateWorldMatrix(true,true);let E=M.current.intersectObject(N,true).map(w=>w.object.userData[u6]).flatMap(w=>k.filter(G=>G.id===w))[0];return E?{handle:E,ray:B}:null},[k,I]),_=U5.useCallback((O,B)=>{let N=O.handle.mode;if(N==="rotate"){let w=c6(B,O.pivotWorld,O.axisWorld);if(!w)return null;let G=w.sub(O.pivotWorld);return O.totalDeg+=r4(O.axisWorld,O.lastSpoke,G),O.lastSpoke=G,i4(O.startPose,O.handle.axis,v0(O.totalDeg,i))}let E=l6(B,O.pivotWorld,O.axisWorld);return E===null?null:N==="scale"?Math.abs(O.startAlongAxis)<wi?null:s4(O.startPose,v0(E/O.startAlongAxis,a),l):n4(O.startPose,O.handle.axis,v0(E-O.startAlongAxis,n))},[l,i,a,n]),D=U5.useCallback((O,B)=>{let N=p.current,E=d.current;if(!N||!E)return;N.updateWorldMatrix(true,false);let w=new three.Vector3(...O.direction).transformDirection(new three.Matrix4().extractRotation(N.matrixWorld)).normalize(),G=E.getWorldPosition(new three.Vector3),W=l6(B,G,w),X=O.mode==="rotate"?c6(B,G,w)?.sub(G):new three.Vector3;W===null||!X||(R&&!b.current&&(b.current={controls:R,wasEnabled:R.enabled},R.enabled=false),f.current={handle:O,startPose:e,pivotWorld:G,axisWorld:w,startAlongAxis:W,lastSpoke:X,totalDeg:0,latest:e},h(O.id),A.current.onDragStart());},[R,e]),L=U5.useCallback(()=>{let O=b.current;b.current=null,O&&(O.controls.enabled=O.wasEnabled);},[]);return U5.useEffect(()=>{let O=x.domElement,B=s(E=>{if(f.current||E.button!==0)return;let w=F(E);w&&(E.stopImmediatePropagation(),E.stopPropagation(),E.preventDefault(),D(w.handle,w.ray));},"onPointerDown"),N=s(E=>{if(f.current)return;let w=F(E)?.handle.id??null;P.current!==w&&(P.current=w,v(w),C());},"onPointerMove");return O.addEventListener("pointerdown",B,{capture:true}),O.addEventListener("pointermove",N),()=>{O.removeEventListener("pointerdown",B,{capture:true}),O.removeEventListener("pointermove",N);}},[D,x,C,F]),U5.useEffect(()=>{if(!g)return;let O=s(N=>{let E=f.current;if(!E)return;let w=I(N);if(!w)return;let G=_(E,w);G&&(E.latest=G,A.current.onDrag(G,E.handle.mode),C());},"move"),B=s(()=>{let N=f.current;f.current=null,L(),h(null),N&&A.current.onDragEnd(N.latest,N.handle.mode);},"finish");return window.addEventListener("pointermove",O),window.addEventListener("pointerup",B),window.addEventListener("pointercancel",B),()=>{window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",B),window.removeEventListener("pointercancel",B),L();}},[g,C,_,I,L]),jsxRuntime.jsx("group",{ref:p,children:jsxRuntime.jsx("group",{ref:d,position:e.positionMm,children:k.map(O=>jsxRuntime.jsx(Di,{handle:O,active:g===O.id,dimmed:g!==null&&g!==O.id,hovered:y===O.id},O.id))})})},"TransformGizmo"),Di=s(({handle:e,active:t,dimmed:o,hovered:r})=>{let i=t||r&&!o?Ge(e.color,$7):e.color,a=jsxRuntime.jsx("meshBasicMaterial",{color:i,depthTest:false,toneMapped:false,transparent:true,opacity:o?.35:1}),l=jsxRuntime.jsx("meshBasicMaterial",{visible:false});if(e.mode==="rotate"){let[g,h]=Q7;return jsxRuntime.jsxs("group",{rotation:[...e.rotation],children:[jsxRuntime.jsxs("mesh",{renderOrder:m6,children:[jsxRuntime.jsx("torusGeometry",{args:[g,h,8,64]}),a]}),jsxRuntime.jsxs("mesh",{visible:false,userData:{[u6]:e.id},children:[jsxRuntime.jsx("torusGeometry",{args:[g,e4,6,48]}),l]})]})}let c=t4(e.mode),m=e.mode==="scale",[u]=m?s6:C0,[p,d]=i6,f=m?-1:1,M=m?-0.53:u+d/2;return jsxRuntime.jsxs("group",{rotation:[...e.rotation],children:[jsxRuntime.jsxs("mesh",{position:[f*u/2,0,0],renderOrder:m6,children:[jsxRuntime.jsx("boxGeometry",{args:m?[...s6]:[...C0]}),a]}),jsxRuntime.jsxs("mesh",{position:[M,0,0],rotation:[0,0,-Math.PI/2],renderOrder:m6,children:[m?jsxRuntime.jsx("boxGeometry",{args:[fe,fe,fe]}):jsxRuntime.jsx("coneGeometry",{args:[p,d,24]}),a]}),c&&jsxRuntime.jsxs("mesh",{visible:false,userData:{[u6]:e.id},position:[(c[0]+c[1])/2,0,0],rotation:[0,0,-Math.PI/2],children:[jsxRuntime.jsx("cylinderGeometry",{args:[x0,x0,Math.abs(c[1]-c[0]),8]}),l]})]})},"HandleMesh");var Ni=.28,Ui=42;function u4(e){let t=document.createElement("canvas");t.width=128,t.height=128;let o=t.getContext("2d");if(!o)return null;z9(o,{size:128,...e});let r=new three.CanvasTexture(t);return r.colorSpace=three.SRGBColorSpace,r}s(u4,"createHeadTexture");var zi=s(({head:e,labelColor:t,disabled:o})=>{let r=fiber.useThree(g=>g.gl),{tweenCamera:n}=drei.useGizmoContext(),[i,a]=U5.useState(false),[l,c]=U5.useMemo(()=>{let g=u4({color:e.color,filled:e.positive,label:e.positive?e.label:null,labelColor:t}),h=u4({color:e.positive?Ge(e.color,Ni):e.color,filled:true,label:e.label,labelColor:t});return [g,h]},[e.color,e.label,e.positive,t]);U5.useEffect(()=>()=>{l?.dispose(),c?.dispose();},[l,c]);let m=U5.useMemo(()=>new three.Vector3(...e.direction),[e.direction]),u=i?c:l;if(!u)return null;let M=o?{}:{onPointerOver:s(g=>{g.stopPropagation(),a(true);},"onOver"),onPointerOut:s(g=>{g.stopPropagation(),a(false);},"onOut"),onPointerDown:s(g=>{g.stopPropagation(),n(m);},"onDown")};return jsxRuntime.jsx("sprite",{position:m,scale:U9(e,i),...M,children:jsxRuntime.jsx("spriteMaterial",{map:u,"map-anisotropy":r.capabilities.getMaxAnisotropy()||1,transparent:true,alphaTest:.35,toneMapped:false})})},"AxisHead"),d4=s(({axisColors:e=S1,labels:t=J2,labelColor:o=H9,disabled:r=false})=>{let n=U5.useMemo(()=>N9(e,t),[e,t]),i=U5.useMemo(()=>Le(e),[e]),[a]=r3;return jsxRuntime.jsxs("group",{scale:Ui,children:[i.map(l=>jsxRuntime.jsx("group",{rotation:[...l.rotation],children:jsxRuntime.jsxs("mesh",{position:[a/2,0,0],raycast:()=>null,children:[jsxRuntime.jsx("boxGeometry",{args:[...r3]}),jsxRuntime.jsx("meshBasicMaterial",{color:l.color,toneMapped:false})]})},l.axis)),n.map(l=>jsxRuntime.jsx(zi,{head:l,labelColor:o,disabled:r},l.id))]})},"ViewportAxesGizmo");var he=Object.freeze(new three.Vector3(0,0,1)),u2=Object.freeze({forward:Object.freeze(["ArrowUp","KeyW"]),back:Object.freeze(["ArrowDown","KeyS"]),left:Object.freeze(["ArrowLeft","KeyA"]),right:Object.freeze(["ArrowRight","KeyD"]),up:Object.freeze(["PageUp","KeyE"]),down:Object.freeze(["PageDown","KeyQ"])}),Vi=new Set(Object.values(u2).flat());function f4(e){return Vi.has(e)}s(f4,"isNavigationCode");var Xi={forward:0,right:0,up:0};function G2(e,t){return t.some(o=>e.has(o))?1:0}s(G2,"anyPressed");function Wi(e){return e.size===0?Xi:{forward:G2(e,u2.forward)-G2(e,u2.back),right:G2(e,u2.right)-G2(e,u2.left),up:G2(e,u2.up)-G2(e,u2.down)}}s(Wi,"axesFromPressed");function Zi(e,t=he){let o=s(i=>new three.Vector3(i.x,i.y,i.z).addScaledVector(he,-i.dot(he)),"flatten"),r=o(e);r.lengthSq()<1e-12&&(r=o(t)),r.lengthSq()<1e-12&&(r=new three.Vector3(1,0,0)),r.normalize();let n=new three.Vector3().crossVectors(r,he).normalize();return {forward:r,right:n}}s(Zi,"navigationBasis");var Ki=.6,Yi=150,qi=12e3,Ji=4,Qi=.2,$i=.1;function g4(e){let t=Wi(e.pressed);if(t.forward===0&&t.right===0&&t.up===0)return null;let o=Math.min(Math.max(e.deltaSeconds,0),$i);if(o<=0)return null;let{forward:r,right:n}=Zi(new three.Vector3().subVectors(e.target,e.cameraPosition),e.cameraUp),i=new three.Vector3().addScaledVector(r,t.forward).addScaledVector(n,t.right).addScaledVector(he,t.up);if(i.lengthSq()<1e-12)return null;i.normalize();let l=Math.min(Math.max(e.cameraPosition.distanceTo(e.target),Yi),qi)*Ki*Math.max(e.speed??1,0)*(e.boost?Ji:1)*(e.precise?Qi:1);return i.multiplyScalar(l*o)}s(g4,"computeKeyboardMove");var h4=s(({enabled:e,speed:t=1})=>{let o=fiber.useThree(c=>c.gl),r=fiber.useThree(c=>c.camera),n=fiber.useThree(c=>c.invalidate),i=fiber.useThree(c=>c.controls),a=U5.useRef(new Set),l=U5.useRef({boost:false,precise:false});return U5.useEffect(()=>{if(!e){a.current.clear();return}let c=a.current,m=o.domElement,u=m.hasAttribute("tabindex");u||(m.tabIndex=0);let p=m.style.outline;m.style.outline="none";let d=s(h=>{l.current.boost=h.shiftKey,l.current.precise=h.altKey,f4(h.code)&&(h.preventDefault(),c.add(h.code),n());},"onKeyDown"),f=s(h=>{l.current.boost=h.shiftKey,l.current.precise=h.altKey,c.delete(h.code);},"onKeyUp"),M=s(()=>{c.clear(),l.current.boost=false,l.current.precise=false;},"onBlur"),g=s(()=>m.focus({preventScroll:true}),"onPointerDown");return m.addEventListener("keydown",d),m.addEventListener("keyup",f),m.addEventListener("blur",M),m.addEventListener("pointerdown",g),window.addEventListener("blur",M),()=>{m.removeEventListener("keydown",d),m.removeEventListener("keyup",f),m.removeEventListener("blur",M),m.removeEventListener("pointerdown",g),window.removeEventListener("blur",M),m.style.outline=p,u||m.removeAttribute("tabindex"),c.clear();}},[e,o,n]),fiber.useFrame((c,m)=>{if(!e||!i||a.current.size===0)return;let u=g4({pressed:a.current,cameraPosition:r.position,target:i.target,cameraUp:r.up,deltaSeconds:m,speed:t,boost:l.current.boost,precise:l.current.precise});u&&(r.position.add(u),i.target.add(u),i.update(),n());}),null},"KeyboardNavigation");function b4(e){return e?.name==="AbortError"}s(b4,"isAbortError");function os(e,t){if(e<=0||typeof AbortSignal?.timeout!="function")return t;let o=AbortSignal.timeout(e);return t?typeof AbortSignal.any!="function"?t:AbortSignal.any([t,o]):o}s(os,"resolveSignal");function O0(e,t={}){let o=t.timeoutMs??3e4,r=os(o,t.signal);return r?fetch(e,{signal:r}):fetch(e)}s(O0,"fetchWithTimeout");var R0=class{static{s(this,"AssetLoader");}cache=new Map;loader=new threeStdlib.GLTFLoader;timeoutMs=3e4;configure(t={}){t.timeoutMs!==void 0&&(this.timeoutMs=t.timeoutMs),c0(this.loader,t);}load(t){let o=this.cache.get(t);if(o)return o.promise;let r=new AbortController,n=this.fetchAndParse(t,r.signal).catch(i=>{throw this.cache.delete(t),i});return this.cache.set(t,{url:t,promise:n,controller:r}),n}async preload(t){return Promise.all(t.map(o=>this.load(o).catch(()=>null)))}cancel(t){let o=this.cache.get(t);o&&(o.controller?.abort(),this.cache.delete(t));}clear(){this.cache.clear();}has(t){return this.cache.has(t)}async fetchAndParse(t,o){let r;try{let n=await O0(t,{signal:o,timeoutMs:this.timeoutMs});if(!n.ok)throw new z("asset-load-failed",`Failed to fetch GLB at "${t}" (status ${n.status})`,{url:t,status:n.status});r=await n.arrayBuffer();}catch(n){throw n instanceof z||b4(n)?n:new z("asset-load-failed",`Network error while fetching GLB "${t}": ${n?.message}`,{url:t,cause:n})}return new Promise((n,i)=>{try{this.loader.parse(r,"",a=>n(a),a=>i(new z("asset-load-failed",`Failed to parse GLB "${t}": ${a?.message??a}`,{url:t,cause:a})));}catch(a){i(new z("asset-load-failed",`Threw while parsing GLB "${t}": ${a?.message}`,{url:t,cause:a}));}})}},d6;function g6(){return d6||(d6=new R0),d6}s(g6,"getSharedAssetLoader");function a1(e,t){return t?/^https?:\/\//.test(t)||t.startsWith("/")?t:`${e.endsWith("/")?e.slice(0,-1):e}/${t}`:""}s(a1,"composeAssetUrl");var f1=Object.freeze({translateMm:[0,0,0],rotationDegEuler:[0,0,0]});function y4(e){return Array.isArray(e)&&e.length===3&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}s(y4,"isVec3");function ns(e){if(typeof e!="object"||e===null)return false;let t=e;return y4(t.translateMm)&&y4(t.rotationDegEuler)}s(ns,"isOriginCorrection");function is(e){if(typeof e!="object"||e===null||Array.isArray(e))return false;let t=e.originCorrection;return t===void 0||ns(t)}s(is,"isSidecarLike");var be=class{constructor(t=3e4){this.timeoutMs=t;}timeoutMs;static{s(this,"SidecarLoader");}cache=new Map;clear(){this.cache.clear();}fetch(t){if(!t)return Promise.resolve(void 0);let o=this.cache.get(t);if(o)return o;let r=(async()=>{try{let n=await O0(t,{timeoutMs:this.timeoutMs});if(n.status===404)return;if(!n.ok)throw new Error(`Sidecar "${t}" failed with status ${n.status}`);let i=await n.json();if(!is(i))throw new Error(`Sidecar "${t}" is malformed: expected an object with a numeric originCorrection {translateMm, rotationDegEuler}.`);return i}catch(n){throw this.cache.delete(t),n}})();return this.cache.set(t,r),r}};function M6(e){return e?.originCorrection??f1}s(M6,"resolveOriginCorrection");function h6(e){return e==="AT2050_0500_180"?"AT2050-0500.meta.json":e==="ATH2050_0500_180"?"ATH2050-0500.meta.json":`${e.replace(/_/g,"-")}.meta.json`}s(h6,"moduleSidecarFilename");function b6(e){return `${e.replace(/_/g,"-")}.meta.json`}s(b6,"moverSidecarFilename");function y6(e){return `${e.replace(/_/g,"-")}.tool.meta.json`}s(y6,"toolSidecarFilename");function T4(e){return `${e.replace(/_/g,"-")}.plate.meta.json`}s(T4,"plateSidecarFilename");function T6(e){return `${e.replace(/_/g,"-")}.rail.meta.json`}s(T6,"railSidecarFilename");function C6(e,t){return e?t==="HepcoGfx"&&e.glbByRailSystem.HepcoGfx?e.glbByRailSystem.HepcoGfx:e.glbByRailSystem.Beckhoff??null:null}s(C6,"pickGlbForRail");var J=s(e=>({glbByRailSystem:{Beckhoff:e}}),"beckhoff"),P1=s((e,t)=>({glbByRailSystem:{Beckhoff:e,HepcoGfx:t}}),"dual"),C4=Object.freeze({AT2000_0250:J("AT2000-0250.glb"),AT2001_0250:J("AT2001-0250.glb"),AT2002_0250:J("AT2002-0250.glb"),AT2002_0249:J("AT2002-0249.glb"),AT2000_0233:J("AT2000-0233.glb"),AT2000_0249:J("AT2000-0249.glb"),AT2100_0250:J("AT2100-0250.glb"),AT2102_0250:J("AT2102-0250.glb"),AT2020_0250:J("AT2020-0250.glb"),AT2021_0250:J("AT2021-0250.glb"),AT2025_0250:J("AT2025-0250.glb"),AT2026_0250:J("AT2026-0250.glb"),AT2040_0250:J("AT2040-0250.glb"),AT2041_0250:J("AT2041-0250.glb"),AT2050_0500:J("AT2050-0500.glb"),AT2050_0501:J("AT2050-0500.glb"),AT2050_0500_180:J("AT2050-0500.glb"),AT2200_0500:J("AT2200-0500.glb"),AT2202_0500:J("AT2202-0500.glb"),ATH2000_0250:P1("ATH2000-0250.glb","ATH2000-0250-0002.glb"),ATH2001_0250:P1("ATH2001-0250.glb","ATH2001-0250-0002.glb"),ATH2002_0250:P1("ATH2002-0250.glb","ATH2002-0250-0002.glb"),ATH2020_0250:P1("ATH2020-0250.glb","ATH2020-0250-0002.glb"),ATH2040_0250:P1("ATH2040-0250.glb","ATH2040-0250-0002.glb"),ATH2041_0250:P1("ATH2041-0250.glb","ATH2041-0250-0002.glb"),ATH2042_0250:P1("ATH2042-0250.glb","ATH2042-0250-0002.glb"),ATH2050_0500:P1("ATH2050-0500.glb","ATH2050-0500-0002.glb"),ATH2050_0501:P1("ATH2050-0500.glb","ATH2050-0500-0002.glb"),ATH2050_0500_180:P1("ATH2050-0500.glb","ATH2050-0500-0002.glb")}),x4=Object.freeze({AT9014_0055:{glbUrl:"AT9014-0055-0550.glb"},AT9014_0070:{glbUrl:"AT9014-0070-0550.glb"},ATH9011_0075:{glbUrl:"ATH9011-0075-0550.glb"},Hepco_GFX2_1TC_S25:{glbUrl:"GFX2-1TC-S25.glb"},Hepco_GFX2_1TC_C25:{glbUrl:"GFX2-1TC-C25.glb"},Hepco_GFX2_1TC_C34:{glbUrl:"GFX2-1TC-C34.glb"},Hepco_GFX2_1TC_M34:{glbUrl:"GFX2-1TC-M34.glb"},Hepco_GFX2_FCC_C25:{glbUrl:"GFX2-FCC-C25.glb"},Hepco_GFX2_FCC_M34:{glbUrl:"GFX2-FCC-M34.glb"},Hepco_GFX2_FCC_M34_7P:{glbUrl:"GFX2-FCC-M34-7P.glb"},Hepco_GFX2_FCC_M34_10P:{glbUrl:"GFX2-FCC-M34-10P.glb"},Hepco_GFX2_FCC_M40_10P:{glbUrl:"GFX2-FCC-M40-10P.glb"},Custom:{glbUrl:""}}),ss=Object.freeze({AT9001_0450:{glbUrl:"AT9001-0450.glb"},AT9001_0550:{glbUrl:"AT9001-0550.glb"},AT9001_0775:{glbUrl:"AT9001-0775.glb"},AT9001_0AA0:{glbUrl:"AT9001-0AA0.glb"},ATH9001_0550:{glbUrl:"ATH9001-0550.glb"},ATH9001_0550_0001:{glbUrl:"ATH9001-0550-0001.glb"},ATH9001_0AA0:{glbUrl:"ATH9001-0AA0.glb"}}),v4=Object.freeze({AT8200_1000_0100:{glbUrl:"AT8200-1000-0100.glb"},AT8200_2000_0100:{glbUrl:"AT8200-2000-0100.glb"},Custom:{glbUrl:""}}),A4=Object.freeze({AT9000_0249:{glbUrl:"AT9000-0249-rail.glb"},AT9000_0250:{glbUrl:"AT9000-0250-rail.glb"},AT9000_0500:{glbUrl:"AT9000-0500-rail.glb"},AT9020_1250:{glbUrl:"AT9020-1250-rail.glb"},AT9020_1250_0170:{glbUrl:"AT9020-1250-0170-rail.glb"},AT9025_1466:{glbUrl:"AT9025-1466-rail.glb"},AT9025_1466_0170:{glbUrl:"AT9025-1466-0170-rail.glb"},AT9040_0750:{glbUrl:"AT9040-0750-rail.glb"},AT9050_0500:{glbUrl:"AT9050-0500-rail.glb"},AT9050_0500_0170:{glbUrl:"AT9050-0500-0170-rail.glb"}}),P4=Object.freeze({AT2000_0250:"AT9000_0250",AT2001_0250:"AT9000_0250",AT2002_0250:"AT9000_0250",AT2002_0249:"AT9000_0249",AT2000_0233:"AT9000_0250",AT2000_0249:"AT9000_0249",AT2100_0250:"AT9000_0250",AT2102_0250:"AT9000_0250",AT2020_0250:"AT9020_1250",AT2021_0250:"AT9020_1250",AT2025_0250:"AT9025_1466",AT2026_0250:"AT9025_1466",AT2040_0250:"AT9040_0750",AT2041_0250:"AT9040_0750",AT2050_0500:"AT9050_0500",AT2050_0501:"AT9050_0500",AT2050_0500_180:"AT9050_0500",AT2200_0500:"AT9000_0500",AT2202_0500:"AT9000_0500",ATH2000_0250:null,ATH2001_0250:null,ATH2002_0250:null,ATH2020_0250:null,ATH2040_0250:null,ATH2041_0250:null,ATH2042_0250:null,ATH2050_0500:null,ATH2050_0501:null,ATH2050_0500_180:null}),x6=Object.freeze({AT9000_0249:1,AT9000_0250:1,AT9000_0500:1,AT9020_1250:5,AT9020_1250_0170:5,AT9025_1466:6,AT9025_1466_0170:6,AT9040_0750:2,AT9050_0500:1,AT9050_0500_0170:1});var as=Object.freeze({AT9040_0750:250});function S4(e){return as[e]??0}s(S4,"railLeadInMm");function v6(e,t,o){return C6(o?.[e]??C4[e],t)}s(v6,"resolveModuleGlbUrl");function E0(e,t,o){return (t?.[e]??o[e])?.glbUrl??""}s(E0,"glbUrlFrom");function ye(e,t){return E0(e,t,x4)}s(ye,"resolveMoverGlbUrl");function Te(e,t){return E0(e,t,ss)}s(Te,"resolvePlateGlbUrl");function A6(e,t){return E0(e,t,v4)}s(A6,"resolveToolGlbUrl");var ls=Object.freeze({AT9020_1250:"AT9020_1250_0170",AT9025_1466:"AT9025_1466_0170",AT9050_0500:"AT9050_0500_0170"});function j2(e,t){let o=P4[e]??null;return o?t==="AT9014_0070"?ls[o]??o:o:null}s(j2,"resolveGuidingRailType");function P6(e,t){return E0(e,t,A4)}s(P6,"resolveGuidingRailGlbUrl");var O4=1;function cs(e,t,o,r){if(o<=0)return [];let n=[],i=o;for(let a=t-1;a>=0;a--){let l=e[a];if(l.catalog.pathType!=="Straight")return [];let c=j2(l.moduleType,r);if(c&&(x6[c]??1)!==1)return [];if(n.push(a),i-=l.catalog.moduleLengthMm,i<=O4)break}return Math.abs(i)<=O4?n:[]}s(cs,"leadInModules");function R4(e,t){let o=new Set,r=0,n=null;return e.forEach((i,a)=>{let l=j2(i.moduleType,t);if(!l){n=null;return}if(l!==n&&(n=l,r=0),r===0){o.add(a);for(let c of cs(e,a,S4(l),t))o.delete(c);}r=(r+1)%(x6[l]??1);}),o}s(R4,"resolveRailMounts");var us=Math.PI/180,q=Object.freeze({baseplateWidthMm:135,baseplateThicknessMm:30,baseplateTopZMm:-46.5,baseplateOuterExtentMm:16.65,baseplateSlotDepthMm:15,baseplateSlotLengthMm:104.78,baseplateSlotPitchMm:250,railWidthMm:44,railHeightMm:15.6,railTopZMm:-30.9,spearBaseHalfHeightMm:3.1,apexFlatHeightMm:.52,vFlankAngleDeg:35,railWingHeightMm:9.28,railWingInnerHalfWidthMm:15.88,topGrooveWidthMm:28.58,topGrooveDepthMm:.6,topGrooveFilletMm:.75,neckRoundCentreMm:[14.5,7.542],neckRoundRadiusMm:2.243,neckWaistCentreMm:[16.49,5.71],neckWaistRadiusMm:4.81,neckJunctionMm:[13.73,9.65],footOuterHalfWidthMm:13,footTopHeightMm:2.4,footChamferMm:.4,channelHalfWidthMm:4,channelHeightMm:3,bracketWidthMm:40,bracketHeightMm:73.8,bracketBaseHeightMm:33.8,bracketWallWidthMm:15,bracketOuterOffsetMm:61,stackYOffsetMm:-13,stackZOffsetMm:-9,spearProtrusionMm:5,undercutInsetMm:3});function S6(e){return e?Object.freeze({...q,...e}):q}s(S6,"resolveHepcoGfxProfile");var E4=8;function I0(e,t,o,r){let[n,i]=t,a=Math.hypot(o[0]-n,o[1]-i),l=Math.atan2(o[1]-i,o[0]-n),m=Math.atan2(r[1]-i,r[0]-n)-l;for(;m>Math.PI;)m-=2*Math.PI;for(;m<-Math.PI;)m+=2*Math.PI;for(let u=1;u<=E4;u++){let p=l+m*u/E4;e.push([n+a*Math.cos(p),i+a*Math.sin(p)]);}}s(I0,"arcTo");function ps(e){let t=e.topGrooveFilletMm,o=1-e.topGrooveDepthMm/(2*t);return 2*t*Math.sin(Math.acos(Math.min(1,Math.max(-1,o))))}s(ps,"grooveEdgeRun");function ds(e,t,o,r){let[n,i]=t,[a,l]=o,c=l<i?-1:1,m=[(n+a)/2,(i+l)/2];I0(e,[n,i+c*r],t,m),I0(e,[a,l-c*r],m,o);}s(ds,"sCurve");function I4(e=q){let t=e.railTopZMm-e.railHeightMm,o=e.railTopZMm,r=s(k=>t+k,"h"),n=e.railWidthMm/2,i=o-e.spearBaseHalfHeightMm,a=i+e.apexFlatHeightMm/2,l=i-e.apexFlatHeightMm/2,c=Math.tan(e.vFlankAngleDeg*us),m=n-(o-a)/c,u=r(e.railWingHeightMm),p=n-(l-u)/c,d=e.topGrooveWidthMm/2,f=o-e.topGrooveDepthMm,M=e.railWingInnerHalfWidthMm,g=[e.neckRoundCentreMm[0],r(e.neckRoundCentreMm[1])],h=[e.neckWaistCentreMm[0],r(e.neckWaistCentreMm[1])],y=e.neckJunctionMm[0],v=r(e.neckJunctionMm[1]),P=e.footOuterHalfWidthMm,A=r(e.footTopHeightMm),b=e.footChamferMm,T=e.channelHalfWidthMm,x=r(e.channelHeightMm),C=[],S=d+ps(e);C.push([0,f]),C.push([d,f]),ds(C,[d,f],[S,o],e.topGrooveFilletMm),C.push([m,o]),C.push([n,a]),C.push([n,l]),C.push([p,u]),C.push([M,u]),I0(C,g,[M,u],[y,v]),I0(C,h,[y,v],[P,A]),C.push([P,r(b)]),C.push([P-b,r(0)]),C.push([T+b,r(0)]),C.push([T,r(b)]),C.push([T,x]),C.push([0,x]);let R=C.slice(1,-1).reverse().map(([k,I])=>[-k,I]);return [...C,...R]}s(I4,"buildHepcoGfxRailOutline");function k4(e=q,t=0){let o=e.baseplateOuterExtentMm,r=o-e.baseplateWidthMm+t,n=e.baseplateTopZMm,i=n-e.baseplateThicknessMm;return [[r,i],[o,i],[o,n],[r,n]]}s(k4,"buildHepcoGfxBaseplateOutline");function w4(e=q){let o=e.baseplateOuterExtentMm-e.baseplateWidthMm,r=o+e.baseplateSlotDepthMm,n=e.baseplateTopZMm,i=n-e.baseplateThicknessMm;return [[o,i],[r,i],[r,n],[o,n]]}s(w4,"buildHepcoGfxBaseplateBridgeOutline");function D4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWidthMm,r=t-e.bracketWallWidthMm,n=e.baseplateTopZMm,i=n+e.bracketBaseHeightMm,a=n+e.bracketHeightMm;return [[o,n],[t,n],[t,a],[r,a],[r,i],[o,i]]}s(D4,"buildHepcoGfxBracketOutline");function F4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWallWidthMm,r=e.baseplateTopZMm+e.bracketBaseHeightMm,n=e.baseplateTopZMm+e.bracketHeightMm;return [[o,r],[t,r],[t,n],[o,n]]}s(F4,"buildHepcoGfxBracketWallOutline");function _4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWidthMm,r=e.baseplateTopZMm+e.bracketBaseHeightMm,n=e.baseplateTopZMm+e.bracketHeightMm;return [[o,r],[t,r],[t,n],[o,n]]}s(_4,"buildHepcoGfxBracketEndBlockOutline");function B4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWidthMm,r=e.baseplateTopZMm,n=r+e.bracketBaseHeightMm;return [[o,r],[t,r],[t,n],[o,n]]}s(B4,"buildHepcoGfxBracketBaseOutline");function p2(e,t=q){let o=new three.Shape;return e.forEach(([r,n],i)=>{let a=-(n+t.stackZOffsetMm),l=r+t.stackYOffsetMm;i===0?o.moveTo(a,l):o.lineTo(a,l);}),o.closePath(),o}s(p2,"toShape");function O6(e=q,t=0){return p2(k4(e,t),e)}s(O6,"createHepcoGfxBaseplateShape");function R6(e=q){return p2(w4(e),e)}s(R6,"createHepcoGfxBaseplateBridgeShape");function E6(e=q){return p2(I4(e),e)}s(E6,"createHepcoGfxRailShape");function fs(e=q){return p2(D4(e),e)}s(fs,"createHepcoGfxBracketShape");function I6(e=q){return p2(B4(e),e)}s(I6,"createHepcoGfxBracketBaseShape");function k6(e=q){return p2(F4(e),e)}s(k6,"createHepcoGfxBracketWallShape");function w6(e=q){return p2(_4(e),e)}s(w6,"createHepcoGfxBracketEndBlockShape");var L4=250,gs=9.7,H4=15,_6=8.5,Ms=62.5,B6=18,D6=125,hs=Object.freeze([Object.freeze({startMm:32.02,endMm:72.25}),Object.freeze({startMm:122.02,endMm:127.98}),Object.freeze({startMm:212.02,endMm:217.98})]),bs=Object.freeze([30,80]),ys=30;function j4(e){return e.baseplateOuterExtentMm-e.baseplateWidthMm}s(j4,"plateCentreLateralMm");function N4(e,t,o=0){let r=[];if(t<=0)return r;for(let n=o;n<=e+1e-6;n+=t)n>=-1e-6&&r.push(n);return r}s(N4,"gridPoints");function U4(e,t){let o=[...t].map(i=>({startMm:Math.max(0,i.startMm),endMm:Math.min(e,i.endMm)})).filter(i=>i.endMm>i.startMm).sort((i,a)=>i.startMm-a.startMm),r=[],n=0;for(let i of o)i.startMm>n&&r.push({startMm:n,endMm:i.startMm}),n=Math.max(n,i.endMm);return n<e&&r.push({startMm:n,endMm:e}),r}s(U4,"invertSpans");function L6(e,t){let o=e.trackLengthMm,r=t.baseplateSlotLengthMm/2,n=N4(o,t.baseplateSlotPitchMm).map(i=>({startMm:i-r,endMm:i+r}));return U4(o,n)}s(L6,"hepcoGfxBaseplateBridgeSpans");function Ts(e){return e.bracketOuterOffsetMm+e.bracketWidthMm-e.stackYOffsetMm}s(Ts,"bracketInboardReachMm");var G4=new WeakMap;function Cs(e){let t=G4.get(e);if(t!==void 0)return t;let o=1/0;if(e.endAngleDeg!==0){let n=[];for(let i=0;i<=128;i++){let a=m1(e,i/128*e.moduleLengthMm).positionMm;n.push([a[0],a[1]]);}for(let i=1;i<n.length-1;i++){let[a,l]=n[i-1],[c,m]=n[i],[u,p]=n[i+1],d=Math.hypot(c-a,m-l),f=Math.hypot(u-c,p-m),M=Math.hypot(a-u,l-p),g=(d+f+M)/2,h=Math.sqrt(Math.max(0,g*(g-d)*(g-f)*(g-M)));h>1e-9&&(o=Math.min(o,d*f*M/(4*h)));}}return G4.set(e,o),o}s(Cs,"minPathRadiusMm");function F6(e,t){let{endAngleDeg:o}=e.catalog;if(o===0)return true;let r=Cs(e.catalog);if(!Number.isFinite(r))return true;let n=Ts(t);return (o>0?r-n:r+n)>=t.bracketWidthMm}s(F6,"carriesBracket");function G6(e,t,o){let r=e.trackLengthMm,n=gs,i=[],a=null;for(let p of e.modules)F6(p,o)?a===null&&(a=p.startPositionInPartMm):a!==null&&(i.push({startMm:a,endMm:p.startPositionInPartMm}),a=null);a!==null&&i.push({startMm:a,endMm:r});let l=e.modules[0],c=e.modules[e.modules.length-1],m=t&&l!==void 0&&c!==void 0&&F6(l,o)&&F6(c,o),u=[];for(let p of i){let d=!(m&&p.startMm<=1e-6),f=!(m&&p.endMm>=r-1e-6),M=p.startMm+(d?n:0),g=p.endMm-(f?n:0);g-M<2*H4||u.push({startMm:M,endMm:g,capStart:d,capEnd:f});}return u}s(G6,"hepcoGfxBracketRuns");function H6(e){let t=[];for(let r=0;r<=e.endMm+L4;r+=L4)for(let n of hs)t.push({startMm:r+n.startMm,endMm:r+n.endMm});return U4(e.endMm-e.startMm,t.map(r=>({startMm:r.startMm-e.startMm,endMm:r.endMm-e.startMm}))).map(r=>({startMm:r.startMm+e.startMm,endMm:r.endMm+e.startMm}))}s(H6,"hepcoGfxBracketWallSpans");function j6(e){let t=H4,o=[];for(let r of e)r.endMm-r.startMm<2*t||(r.capStart&&o.push({startMm:r.startMm,endMm:r.startMm+t}),r.capEnd&&o.push({startMm:r.endMm-t,endMm:r.endMm}));return o}s(j6,"hepcoGfxBracketEndBlockSpans");function z4(e,t,o){return e.filter(r=>r>=o&&r<=t-o)}s(z4,"clearOfEnds");function N6(e,t){let o=j4(t),r=[],n=z4(N4(e.trackLengthMm,Ms),e.trackLengthMm,_6);for(let i of n)for(let a of bs)r.push({atMm:i,lateralMm:o+a});return r}s(N6,"hepcoGfxPlateBores");function U6(e,t){let o=j4(t)+ys,r=[];for(let n of e){let i=[];for(let a=Math.ceil(n.startMm/D6)*D6;a<=n.endMm+1e-6;a+=D6)i.push(a);for(let a of z4(i.map(l=>l-n.startMm),n.endMm-n.startMm,B6))r.push({atMm:a+n.startMm,lateralMm:o});}return r}s(U6,"hepcoGfxBracketBores");var Z4=32,K4=250/Z4,Ss=12;function Os(e,t){let o=[];for(let r of e.modules)Rs(o,r,t);return o}s(Os,"samplePartLocalPoints");function Rs(e,t,o){let r=t.startWorldPose.yawDeg*j,n=Math.cos(r),i=Math.sin(r),a=t.startWorldPose.positionMm[0],l=t.startWorldPose.positionMm[1],c=t.startWorldPose.positionMm[2],m=e.length===0?0:1;for(let u=m;u<=o;u++){let p=u/o*t.trackLengthMm,d=m1(t.catalog,p),f=d.positionMm[0],M=d.positionMm[1],g=d.positionMm[2],h=n*f-i*M+a,y=i*f+n*M+l,v=g+c;e.push(new three.Vector3(h,y,v));}}s(Rs,"appendModuleSamples");function V6(e,t,o){let r=new three.ExtrudeGeometry(t,{steps:o,bevelEnabled:false,extrudePath:e});return r.computeVertexNormals(),r}s(V6,"extrudeShape");function Es(e,t,o){let r=o.endMm-o.startMm;if(r<=1e-6||t<=0)return null;let n=Math.max(1,Math.ceil(r/K4)),i=[];for(let a=0;a<=n;a++){let l=(o.startMm+r*a/n)/t;i.push(e.getPointAt(Math.min(1,Math.max(0,l))));}return new three.CatmullRomCurve3(i,false,"catmullrom")}s(Es,"subCurve");function k0(e,t,o,r){let n=[];for(let a of o){let l=Es(e,t,a);if(!l)continue;let c=Math.max(1,Math.ceil((a.endMm-a.startMm)/K4));n.push(V6(l,r,c));}if(n.length===0)return null;let i=BufferGeometryUtils_js.mergeGeometries(n,false);for(let a of n)a.dispose();return i}s(k0,"extrudeSpans");function Is(e){let{normals:t}=e.computeFrenetFrames(1,false),o=t[0]?.z??-1;return Math.abs(o)>.5?Math.sign(o):-1}s(Is,"verticalSignOf");function V4(e,t,o,r,n){if(t<=0)return [];let i=Is(e),a=new three.Vector3,l=new three.Vector3,c=[];for(let m of o){let u=Math.min(1,Math.max(0,m.atMm/t));e.getPointAt(u,a),e.getTangentAt(u,l);let p=l.y*i,d=-l.x*i,f=m.lateralMm+r.stackYOffsetMm;c.push(new three.Matrix4().makeTranslation(a.x+p*f,a.y+d*f,a.z+n+r.stackZOffsetMm));}return c}s(V4,"boreMatrices");function X4(e,t){let o=new three.CylinderGeometry(e/2,e/2,t,Ss,1,true);return o.rotateX(Math.PI/2),o}s(X4,"boreGeometry");function Y4(e,t){let o=Os(e,Z4);if(o.length<2)return null;let r=new three.CatmullRomCurve3(o,false,"catmullrom"),n=o.length-1,i=e.trackLengthMm,a=G6(e,g1(e),t),l=N6(e,t),c=U6(a,t);return {baseplate:V6(r,O6(t,t.baseplateSlotDepthMm),n),bridges:k0(r,i,L6(e,t),R6(t)),rail:V6(r,E6(t),n),bracketBase:k0(r,i,a,I6(t)),bracketWall:k0(r,i,a.flatMap(m=>H6(m)),k6(t)),bracketEndBlocks:k0(r,i,j6(a),w6(t)),plateBores:l.length>0?{geometry:X4(_6,t.baseplateThicknessMm),matrices:V4(r,i,l,t,t.baseplateTopZMm-t.baseplateThicknessMm/2)}:null,bracketBores:c.length>0?{geometry:X4(B6,t.bracketBaseHeightMm),matrices:V4(r,i,c,t,t.baseplateTopZMm+t.bracketBaseHeightMm/2)}:null}}s(Y4,"buildGuidewayGeometries");function q4(e){if(e)for(let t of [e.baseplate,e.bridges,e.rail,e.bracketBase,e.bracketWall,e.bracketEndBlocks,e.plateBores?.geometry??null,e.bracketBores?.geometry??null])t?.dispose();}s(q4,"disposeGuidewayGeometries");var J4=Object.freeze({name:"alu-extruded",color:"#9fa4a9",metalness:.85,roughness:.45}),Q4=Object.freeze({name:"steel-rail-hardened",color:"#9aa0a4",metalness:1,roughness:.2}),Ce=Object.freeze({name:"alu-bore",color:"#4a4f54",metalness:.8,roughness:.7});var $4=s(({geometry:e,surface:t,color:o})=>jsxRuntime.jsx("mesh",{geometry:e,castShadow:true,receiveShadow:true,children:jsxRuntime.jsx("meshStandardMaterial",{color:o??t.color,metalness:t.metalness,roughness:t.roughness,userData:{xtsMaterial:t.name}})}),"GuidewayMesh"),e8=s(({batch:e})=>{let t=U5.useRef(null),{geometry:o,matrices:r}=e;return U5.useLayoutEffect(()=>{let n=t.current;n&&(r.forEach((i,a)=>n.setMatrixAt(a,i)),n.instanceMatrix.needsUpdate=true);},[r]),jsxRuntime.jsx("instancedMesh",{ref:t,args:[o,void 0,r.length],receiveShadow:true,children:jsxRuntime.jsx("meshStandardMaterial",{color:Ce.color,metalness:Ce.metalness,roughness:Ce.roughness,userData:{xtsMaterial:Ce.name}})})},"BoreBatch"),Bs=s(({chain:e,profile:t=q,baseplateColor:o,railColor:r,bracketColor:n})=>{let i=U5.useMemo(()=>Y4(e,t),[e,t]);if(U5.useEffect(()=>()=>q4(i),[i]),!i)return null;let a=[[i.baseplate,o],[i.bridges,o],[i.bracketBase,n],[i.bracketWall,n],[i.bracketEndBlocks,n]];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a.map(([l,c],m)=>l&&jsxRuntime.jsx($4,{geometry:l,surface:J4,color:c},m)),jsxRuntime.jsx($4,{geometry:i.rail,surface:Q4,color:r}),i.plateBores&&jsxRuntime.jsx(e8,{batch:i.plateBores}),i.bracketBores&&jsxRuntime.jsx(e8,{batch:i.bracketBores})]})},"HepcoGfxRailImpl"),X6=U5__default.default.memo(Bs);X6.displayName="HepcoGfxRail";var zs="#FFA000",Vs="#1a1a1a",Xs="#E03030",Ws="#ffffff",w0=s(({kind:e,positionMm:t,sizeMm:o=45})=>{let r=U5.useMemo(()=>{if(e!=="warning")return null;let a=o/2,l=new three.Shape;return l.moveTo(0,a),l.lineTo(-a*.95,-a*.7),l.lineTo(a*.95,-a*.7),l.lineTo(0,a),l},[e,o]),n=U5.useRef(null);F2(n);let i=_2();return jsxRuntime.jsxs(drei.Billboard,{ref:n,position:t,follow:true,children:[e==="warning"&&r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("mesh",{renderOrder:9990,children:[jsxRuntime.jsx("shapeGeometry",{args:[r]}),jsxRuntime.jsx("meshBasicMaterial",{color:zs,toneMapped:false,depthTest:false,transparent:true,opacity:.95})]}),jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{position:[0,-o*.05,.5],fontSize:o*.6,color:Vs,anchorX:"center",anchorY:"middle",renderOrder:9991,font:i,depthOffset:-1,children:"!"})})]}),e==="error"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("mesh",{renderOrder:9990,children:[jsxRuntime.jsx("circleGeometry",{args:[o/2,32]}),jsxRuntime.jsx("meshBasicMaterial",{color:Xs,toneMapped:false,depthTest:false,transparent:true,opacity:.95})]}),jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{position:[0,0,.5],fontSize:o*.7,color:Ws,anchorX:"center",anchorY:"middle",renderOrder:9991,font:i,depthOffset:-1,children:"!"})})]})]})},"DriveStatusIcon");var Z6=s(({bounds:e,sizeMm:t=10,color:o="#FF2030"})=>{let r=U5.useMemo(()=>Ks(e),[e]),n=t/2;return jsxRuntime.jsx("group",{name:"module-corner-markers",children:r.map((i,a)=>jsxRuntime.jsxs("mesh",{position:i,renderOrder:9999,children:[jsxRuntime.jsx("sphereGeometry",{args:[n,12,12]}),jsxRuntime.jsx("meshBasicMaterial",{color:o,toneMapped:false,depthTest:false,transparent:true,opacity:.95})]},a))})},"ModuleCornerMarkers");function Ks(e){let[t,o,r]=e.min,[n,i,a]=e.max;return [[t,o,r],[n,o,r],[t,i,r],[n,i,r],[t,o,a],[n,o,a],[t,i,a],[n,i,a]]}s(Ks,"cornersOfAabb");var Qs=.25,$s=.08,ea=s((e,t,o)=>(t[0]-e[0])*(o[1]-e[1])-(t[1]-e[1])*(o[0]-e[0]),"cross2");function ta(e){let t=[...e].sort((n,i)=>n[0]-i[0]||n[1]-i[1]);if(t.length<3)return t;let o=s(n=>{let i=[];for(let a of n){for(;i.length>=2&&ea(i[i.length-2],i[i.length-1],a)<=0;)i.pop();i.push(a);}return i.pop(),i},"half"),r=[...o(t),...o([...t].reverse())];return r.length>=3?r:t}s(ta,"convexHull2D");function oa(e){if(e.length===0)return null;let t=ta(e),o=null,r=s((n,i)=>{let a=1/0,l=-1/0,c=1/0,m=-1/0;for(let g of e){let h=g[0]*n+g[1]*i,y=-g[0]*i+g[1]*n;h<a&&(a=h),h>l&&(l=h),y<c&&(c=y),y>m&&(m=y);}let u=l-a,p=m-c;if(o&&u*p>=o.width*o.height-1e-9)return;let d=(a+l)/2,f=(c+m)/2,M={cx:d*n-f*i,cy:d*i+f*n,ux:n,uy:i,width:u,height:p};o=u>=p?M:{cx:M.cx,cy:M.cy,ux:-i,uy:n,width:p,height:u};},"consider");if(t.length<3)return r(1,0),o;for(let n=0;n<t.length;n++){let i=t[n],a=t[(n+1)%t.length],l=a[0]-i[0],c=a[1]-i[1],m=Math.hypot(l,c);m<1e-9||r(l/m,c/m);}return o}s(oa,"minAreaRect");function i8(e,t,o,r=[]){if(e.length===0)return null;let[n,i,a]=o.rotationDegEuler,l=new three.Quaternion().setFromEuler(new three.Euler(n*j,i*j,a*j,"XYZ")),c=new three.Matrix4().makeRotationFromQuaternion(l).setPosition(new three.Vector3(...o.translateMm)),m=e.map(H=>H.clone().applyMatrix4(c)),u=new three.Box3().setFromPoints(m),p=t.clone().applyMatrix4(c).getCenter(new three.Vector3),d=u.getSize(new three.Vector3),f=s(H=>d.getComponent(H),"extent"),M=[0,1,2],g=M.reduce((H,V)=>f(V)<f(H)?V:H,0),h=Math.max(f(0),f(1),f(2));if(h===0||f(g)/h>$s)return null;let y=s((H,V)=>new three.Vector3(H===0?V:0,H===1?V:0,H===2?V:0),"unit"),v=u.getCenter(new three.Vector3),A=y(g,s(H=>v.getComponent(H)>=p.getComponent(H)?1:-1,"awayFromCentre")(g)),[b,T]=M.filter(H=>H!==g),x=y(b??0,1),C=y(T??1,1),S=oa(m.map(H=>[H.dot(x),H.dot(C)]));if(!S||S.height===0)return null;let R=x.clone().multiplyScalar(S.ux).addScaledVector(C,S.uy),k=x.clone().multiplyScalar(-S.uy).addScaledVector(C,S.ux),I=x.clone().multiplyScalar(S.cx).addScaledVector(C,S.cy).addScaledVector(y(g,1),v.getComponent(g)),F=g===2,_=Math.abs(R.z)>=Math.abs(k.z),D=F?k.clone():(_?R:k).clone(),L=F||!_?S.width:S.height,O=F||!_?S.height:S.width,B=r.map(H=>H.clone().applyMatrix4(c));if(!F)D.z<0&&D.negate();else if(B.length>0){let H=new three.Vector3().crossVectors(D,A);B.reduce((w1,Y)=>w1+Y.clone().sub(I).dot(H),0)/B.length>0&&D.negate();}else D.dot(p.clone().sub(I))<0&&D.negate();let N=new three.Vector3().crossVectors(D,A),E=B.map(H=>{let V=H.clone().sub(I);return {u:V.dot(N)+L/2,v:V.dot(D)+O/2}}).sort((H,V)=>V.v-H.v),w=new three.Quaternion().setFromRotationMatrix(new three.Matrix4().makeBasis(N,D,A)),G=I.clone().addScaledVector(A,f(g)/2+Qs),W=new three.Matrix4().copy(c).invert();G.applyMatrix4(W);let X=l.clone().invert().multiply(w);return {position:[G.x,G.y,G.z],quaternion:[X.x,X.y,X.z,X.w],width:L,height:O,ledUv:E}}s(i8,"computeTypePlateFrame");function s8(e,t,o){let r=.06*t,n={ruleA:0,ruleB:0,maker:null,legend:null,ident:{u0:r,u1:e-r}};if(o===null)return n;let i=o-.11*t,a=o+.6*t,l=.4*t,c={u0:r,u1:i-r},m={u0:o+.09*t,u1:a-r},u={u0:a+r,u1:e-r};return u.u1-u.u0<l?n:{ruleA:i,ruleB:a,maker:c.u1-c.u0>=l?c:null,legend:m.u1-m.u0>=.25*t?m:null,ident:u}}s(s8,"computePlateColumns");var ra={AT2050_0500_180:"AT2050-0500",ATH2050_0500_180:"ATH2050-0500"};function a8(e){return ra[e]??e.replace(/_/g,"-")}s(a8,"typeDesignation");function l8(e){return `XTS Drive ${Math.round(e)}mm`}s(l8,"productLine");var na="type-plate-black",ia=["led-green","led-red"],sa=.75;function aa(e,t){let o=[...e].sort((i,a)=>i-a),r=[],n=[];for(let i of o){let a=n[n.length-1];a!==void 0&&i-a>t&&(r.push(n),n=[]),n.push(i);}return n.length&&r.push(n),r.map(i=>(i[0]+i[i.length-1])/2)}s(aa,"clusterPositions");var la=1.5;function c8(e,t){let o=[];return e.traverse(r=>{let n=r;if(!n.isMesh)return;let i=Array.isArray(n.material)?n.material:[n.material];for(let a of i){if(!a)continue;let l=a.userData?.xtsMaterial;if(typeof l=="string"&&t.includes(l)||t.includes(a.name)){o.push(n);return}}}),o}s(c8,"findMeshesByMaterial");function ca(e,t){return t.updateWorldMatrix(true,false),e.updateWorldMatrix(true,false),new three.Matrix4().copy(t.matrixWorld).invert().multiply(e.matrixWorld)}s(ca,"relativeMatrix");function u8(e,t){let o=e.geometry?.attributes?.position;if(!o)return [];let r=ca(e,t),n=[];for(let i=0;i<o.count;i++)n.push(new three.Vector3(o.getX(i),o.getY(i),o.getZ(i)).applyMatrix4(r));return n}s(u8,"localVertices");function m8(e,t){let o=new three.Box3,r=new three.Matrix4;return t.updateWorldMatrix(true,false),r.copy(t.matrixWorld).invert(),e.traverse(n=>{let i=n;if(!i.isMesh||!i.geometry||(i.updateWorldMatrix(true,false),i.geometry.boundingBox||i.geometry.computeBoundingBox(),!i.geometry.boundingBox))return;let a=new three.Matrix4().copy(r).multiply(i.matrixWorld);o.union(i.geometry.boundingBox.clone().applyMatrix4(a));}),o}s(m8,"localBounds");function ma(e,t){let o=new three.Box3().setFromPoints(e).getSize(new three.Vector3),r=[0,1,2].reduce((i,a)=>o.getComponent(a)>o.getComponent(i)?a:i,0),n=new three.Vector3(r===0?1:0,r===1?1:0,r===2?1:0);for(let i=0;i<12;i++){let a=new three.Vector3;for(let l of e){let c=l.clone().sub(t);a.addScaledVector(c,c.dot(n));}if(a.lengthSq()===0)return n;n.copy(a.normalize());}return n}s(ma,"columnDirection");function ua(e){if(e.length===0)return [];let t=e.reduce((i,a)=>i.add(a),new three.Vector3).divideScalar(e.length),o=ma(e,t),r=aa(e.map(i=>i.dot(o)),la),n=r.map(()=>({v:new three.Vector3,n:0}));for(let i of e){let a=i.dot(o),l=0;for(let c=1;c<r.length;c++)Math.abs(a-r[c])<Math.abs(a-r[l])&&(l=c);n[l].v.add(i),n[l].n+=1;}return n.filter(i=>i.n>0).map(i=>i.v.divideScalar(i.n))}s(ua,"ledCentresOf");function pa(e,t,o){if(t.length===0)return null;let r=new three.Box3().setFromPoints(t),n=r.getSize(new three.Vector3),i=[0,1,2].reduce((m,u)=>n.getComponent(u)<n.getComponent(m)?u:m,0),a=r.getCenter(new three.Vector3).getComponent(i),l=s(m=>Math.abs(m.getComponent(i)-a)<=sa,"inPlane"),c=[];for(let m of e){let u=u8(m,o);if(u.length===0)continue;let p=m.geometry?.index,d=s(M=>u[p?p.getX(M):M],"at"),f=p?p.count:u.length;for(let M=0;M+2<f;M+=3){let g=d(M),h=d(M+1),y=d(M+2);!g||!h||!y||!l(g)||!l(h)||!l(y)||c.push(g,h,y);}}return c.length===0?null:c}s(pa,"plateFacePoints");function da(e){let t=[];for(let o of [e.min.x,e.max.x])for(let r of [e.min.y,e.max.y])for(let n of [e.min.z,e.max.z])t.push(new three.Vector3(o,r,n));return t}s(da,"boxCorners");function p8(e,t){let o=c8(e,[na]);if(o.length===0)return null;let r=c8(e,ia).flatMap(i=>u8(i,e)),n=pa(o,r,e)??da(o.reduce((i,a)=>i.union(m8(a,e)),new three.Box3));return i8(n,m8(e,e),t,ua(r))}s(p8,"resolvePlateFrame");var q6=["ECAT Run","Link/Act","60V","24V"],d8="BECKHOFF",f8=["Automation GmbH & Co. KG","H\xFClshorstweg 20","33415 Verl / Germany","www.beckhoff.com","Made in Germany"],g8=1024,ba="rgba(200, 206, 212, 0.55)",M8="rgba(170, 178, 186, 0.45)",J6="#f2f2f2",h8="#9aa0a6",b8=new Map;function ya(e,t,o,r,n,i){let a=Math.min(i,r/2,n/2);if(typeof e.roundRect=="function"){e.beginPath(),e.roundRect(t,o,r,n,a);return}e.beginPath(),e.moveTo(t+a,o),e.arcTo(t+r,o,t+r,o+n,a),e.arcTo(t+r,o+n,t,o+n,a),e.arcTo(t,o+n,t,o,a),e.arcTo(t,o,t+r,o,a),e.closePath();}s(ya,"roundRectPath");function ve(e,t,o,r,n){for(let i=Math.round(r);i>4;i--)if(e.font=`${n} ${i}px "Helvetica Neue", Arial, sans-serif`,e.measureText(t).width<=o)return i;return 5}s(ve,"fitFont");function Ta(e,t,o,r,n){let i=typeof document>"u"?null:document.createElement("canvas"),a=i?.getContext("2d");if(!i||!a)return null;let l=g8/e.width,c=Math.max(32,Math.round(e.height*l));i.width=g8,i.height=c,a.clearRect(0,0,i.width,c);let m=s(y=>y*l,"mm"),u=s(y=>c-m(y),"py");a.strokeStyle=ba,a.lineWidth=Math.max(1.5,m(.14));let p=m(.5);if(ya(a,p,p,i.width-2*p,c-2*p,m(e.height*.05)),a.stroke(),t.maker||t.legend){a.strokeStyle=M8,a.lineWidth=Math.max(1.5,m(.1));for(let y of [t.ruleA,t.ruleB])a.beginPath(),a.moveTo(m(y),u(e.height*.9)),a.lineTo(m(y),u(e.height*.1)),a.stroke();}if(a.textAlign="left",a.textBaseline="top",t.maker){let y=m(t.maker.u1-t.maker.u0),v=m(t.maker.u0),P=ve(a,d8,y,m(e.height*.17),700);a.fillStyle=J6,a.font=`700 ${P}px "Helvetica Neue", Arial, sans-serif`,a.fillText(d8,v,m(e.height*.12));let A=f8.reduce((T,x)=>T.length>=x.length?T:x),b=ve(a,A,y,m(e.height*.078),400);a.fillStyle=h8,f8.forEach((T,x)=>{let C=T==="Made in Germany"?700:400;a.font=`${C} ${b}px "Helvetica Neue", Arial, sans-serif`,a.fillText(T,v,m(e.height*.35)+x*b*1.25);});}if(t.legend&&e.ledUv.length===q6.length){let y=m(t.legend.u1-t.legend.u0),v=m(t.legend.u0),P=q6.reduce((b,T)=>b.length>=T.length?b:T),A=ve(a,P,y,m(e.height*.1),400);a.fillStyle=J6,a.font=`400 ${A}px "Helvetica Neue", Arial, sans-serif`,a.textBaseline="middle",e.ledUv.forEach((b,T)=>{a.fillText(q6[T],v,u(b.v));}),a.textBaseline="top";}let d=m(t.ident.u1-t.ident.u0),f=m(t.ident.u0);a.fillStyle=J6;let M=ve(a,o,d,m(e.height*.165),600);a.font=`600 ${M}px "Helvetica Neue", Arial, sans-serif`,a.fillText(o,f,m(e.height*.14)),a.fillStyle=h8;let g=ve(a,r,d,m(e.height*.105),400);a.font=`400 ${g}px "Helvetica Neue", Arial, sans-serif`,a.fillText(r,f,m(e.height*.14)+M*1.2),a.strokeStyle=M8,a.lineWidth=Math.max(1.5,m(.1)),a.beginPath(),a.moveTo(f,u(e.height*.5)),a.lineTo(f+d,u(e.height*.5)),a.stroke();let h=new three.CanvasTexture(i);return h.colorSpace=three.SRGBColorSpace,h.generateMipmaps=true,h.minFilter=three.LinearMipmapLinearFilter,h.magFilter=three.LinearFilter,h.anisotropy=n,h.needsUpdate=true,h}s(Ta,"paintTypePlate");function y8(e){return e.reduce((t,o)=>t+o.u,0)/e.length}s(y8,"averageU");function T8(e,t,o,r,n){let i=[o,r,e.width.toFixed(2),e.height.toFixed(2),t.ruleA.toFixed(2),t.ruleB.toFixed(2),e.ledUv.map(c=>c.v.toFixed(2)).join("/"),n].join("|"),a=b8.get(i);if(a)return a;let l=Ta(e,t,o,r,n);return l&&b8.set(i,l),l}s(T8,"getTypePlateTexture");var x8=s(({scene:e,moduleType:t,moduleLengthMm:o,originCorrection:r})=>{let n=U5.useMemo(()=>p8(e,r),[e,r]),i=U5.useMemo(()=>n?s8(n.width,n.height,n.ledUv.length?y8(n.ledUv):null):null,[n]),a=fiber.useThree(c=>c.gl.capabilities.getMaxAnisotropy()),l=U5.useMemo(()=>n&&i?T8(n,i,a8(t),l8(o),a):null,[n,i,t,o,a]);return !n||!l?null:jsxRuntime.jsxs("mesh",{position:n.position,quaternion:n.quaternion,renderOrder:1,castShadow:false,receiveShadow:false,children:[jsxRuntime.jsx("planeGeometry",{args:[n.width,n.height]}),jsxRuntime.jsx("meshStandardMaterial",{map:l,transparent:true,depthWrite:false,roughness:.6,metalness:0})]})},"ModuleTypePlate");var $6={module:{filename:h6,builtin:s(e=>ee[e],"builtin")},mover:{filename:s(e=>e==="Custom"?null:b6(e),"filename"),builtin:s(e=>e==="Custom"?void 0:p3[e],"builtin")},tool:{filename:s(e=>e==="Custom"?null:y6(e),"filename"),builtin:s(e=>e==="Custom"?void 0:d3[e],"builtin")},plate:{filename:T4,builtin:s(e=>a5[e],"builtin")},rail:{filename:T6,builtin:s(e=>f3[e],"builtin")}};var Pa=new be;function l1(e,t,o){let{useBuiltins:r}=R3(),n=$6[e],i=r?n.builtin(t):void 0,[a,l]=U5.useState(i);return U5.useEffect(()=>{if(i){l(i);return}let c=n.filename(t);if(!c){l(void 0);return}let m=true;return Pa.fetch(a1(o,c)).then(u=>{m&&l(u);}).catch(()=>{m&&l(void 0);}),()=>{m=false;}},[n,t,o,i]),{sidecar:a,correction:M6(a)}}s(l1,"useSidecar");var Ia=s(({module:e,glbUrl:t,originCorrection:o,assetsBaseUrl:r="/models",noSidecar:n=false,selected:i=false,selectionColor:a="#FFE090",feedSegmentColor:l,highlightColor:c,moduleGlobalNumber:m,driveStatus:u,showWarnings:p=true,showErrors:d=true,showCornerMarkers:f=false,showTypePlate:M=true,cornerMarkerSizeMm:g=10,cornerMarkerColor:h="#FF2030",guidingRail:y,guidingRailCorrection:v,userData:P,onClick:A})=>{let b=U5.useContext(Qe),x=U5.useSyncExternalStore(U5.useMemo(()=>_=>!b||m===void 0?()=>{}:b.subscribe(m,_),[b,m]),()=>b&&m!==void 0?b.get(m):void 0,()=>{})??u,C=U5.useMemo(()=>J1(e.startWorldPose),[e.startWorldPose]),S=l1("module",n?"AT2000_0250":e.moduleType,r),R=o??(n?f1:S.correction),k=I1(t??""),I=e.catalog.moduleLengthMm;D2(k,{selected:i,selectionColor:a,feedSegmentColor:l,highlightColor:c,driveStatus:x,showWarnings:p,showErrors:d});let F=x?.error&&d!==false?"error":x?.warning&&p!==false?"warning":null;return jsxRuntime.jsxs("group",{matrixAutoUpdate:false,matrix:C,userData:P,onClick:A,onPointerDown:_=>{A&&_.stopPropagation();},children:[!t||!k?jsxRuntime.jsx(A8,{moduleLengthMm:I}):jsxRuntime.jsx(ka,{gltf:k,originCorrection:R,typePlate:M?{moduleType:e.moduleType,moduleLengthMm:I}:null,cornerMarkers:f&&S.sidecar?.approximateBoundsMm?{bounds:S.sidecar.approximateBoundsMm,sizeMm:g,color:h}:null}),y&&jsxRuntime.jsx(wa,{railType:y.railType,glbUrl:y.glbUrl,assetsBaseUrl:r,correctionOverride:v}),F&&jsxRuntime.jsx(w0,{kind:F,positionMm:[I/2,-48,130]})]})},"XtsModuleContent"),e9=U5__default.default.memo(e=>jsxRuntime.jsx(U5.Suspense,{fallback:jsxRuntime.jsx("group",{matrixAutoUpdate:false,matrix:J1(e.module.startWorldPose),children:jsxRuntime.jsx(A8,{moduleLengthMm:e.module.catalog.moduleLengthMm})}),children:jsxRuntime.jsx(Ia,{...e})}));e9.displayName="XtsModule";var A8=s(({moduleLengthMm:e})=>jsxRuntime.jsxs("mesh",{position:[e/2,-48,50],children:[jsxRuntime.jsx("boxGeometry",{args:[e,96,100]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#FFB000",wireframe:true})]}),"PlaceholderMesh"),ka=s(({gltf:e,originCorrection:t,typePlate:o,cornerMarkers:r})=>jsxRuntime.jsxs(Q,{pose:{positionMm:t.translateMm,rotationDegEuler:t.rotationDegEuler},children:[jsxRuntime.jsx("primitive",{object:e.scene}),o&&jsxRuntime.jsx(x8,{scene:e.scene,moduleType:o.moduleType,moduleLengthMm:o.moduleLengthMm,originCorrection:t}),r&&jsxRuntime.jsx(Z6,{bounds:r.bounds,sizeMm:r.sizeMm,color:r.color})]}),"ModuleGltfGroup"),wa=s(({railType:e,glbUrl:t,assetsBaseUrl:o,correctionOverride:r})=>{let n=l1("rail",e,o),i=I1(t),a=r??n.correction;return i?jsxRuntime.jsx(Q,{pose:{positionMm:a.translateMm,rotationDegEuler:a.rotationDegEuler},children:jsxRuntime.jsx("primitive",{object:i.scene})}):null},"GuidingRailGltfGroup");L1();var La=[0,0,55],Ga=15,Ha="#000000",ja="#FFFFFF",r9=s(({text:e,options:t})=>{let o=t?.fontSizeMm??Ga,r=t?.color??Ha,n=t?.offsetMm??La,i=_2(t?.fontUrl),a=t?.outlineWidthMm??0,l=t?.outlineColor??ja,c=U5.useRef(null);return F2(c),jsxRuntime.jsx(drei.Billboard,{ref:c,position:[n[0],n[1],n[2]],follow:true,lockX:false,lockY:false,lockZ:false,children:jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{fontSize:o,color:r,anchorX:"center",anchorY:"middle",font:i,...a>0?{outlineWidth:a,outlineColor:l}:{},children:e})})})},"MoverIdLabel");var Xa=s(({chain:e,partPositionMm:t,moverId:o,glbUrl:r,originCorrection:n,moverType:i="AT9014_0055",assetsBaseUrl:a="/models",pathLengthMm:l=70,heightMm:c=125,selected:m=false,selectionColor:u="#FFE090",driveStatus:p,showWarnings:d=true,showErrors:f=true,showMoverId:M=false,moverIdLabelOptions:g,showAnchorMarker:h=false,anchorMarkerSizeMm:y=10,anchorMarkerColor:v="#FF2030",userData:P,onClick:A,positionFrame:b,children:T})=>{let x=U5.useContext(o1),C=p1(),S=U5.useRef(null),R=U5.useRef({chain:e,partPositionMm:t,moverId:o,positionFrame:b});U5.useLayoutEffect(()=>{R.current={chain:e,partPositionMm:t,moverId:o,positionFrame:b};});let k=U5.useCallback(()=>{let L=S.current;if(!L)return;let O=R.current,B=O.moverId!==void 0&&x?x.getOr(O.moverId,O.partPositionMm):O.partPositionMm,N=K(B,O.positionFrame),E=t1(O.chain,N);E&&(L.position.set(E.positionMm[0],E.positionMm[1],E.positionMm[2]),L.rotation.set(0,0,E.yawDeg*Math.PI/180));},[x]);fiber.useFrame(k),U5.useLayoutEffect(()=>C?.registerTransform(k),[C,k]);let I=l1("mover",i,a),F=n??I.correction??f1,_=I1(r??"");D2(_,{selected:m,selectionColor:u,driveStatus:p,showWarnings:d,showErrors:f});let D=p?.error&&f!==false?"error":p?.warning&&d!==false?"warning":null;return jsxRuntime.jsxs("group",{ref:S,userData:P,onClick:A,onPointerDown:L=>{A&&L.stopPropagation();},children:[!r||!_?jsxRuntime.jsxs("mesh",{position:[0,0,50],children:[jsxRuntime.jsx("boxGeometry",{args:[l,50,c]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#3D88E0",wireframe:true})]}):jsxRuntime.jsx(Q,{pose:{positionMm:F.translateMm,rotationDegEuler:F.rotationDegEuler},children:jsxRuntime.jsx("primitive",{object:_.scene})}),h&&jsxRuntime.jsxs("group",{children:[jsxRuntime.jsxs("mesh",{renderOrder:999,children:[jsxRuntime.jsx("sphereGeometry",{args:[y/2,16,12]}),jsxRuntime.jsx("meshBasicMaterial",{color:v,depthTest:false,transparent:true})]}),jsxRuntime.jsxs("mesh",{renderOrder:999,children:[jsxRuntime.jsx("boxGeometry",{args:[y*.15,y*.15,y*20]}),jsxRuntime.jsx("meshBasicMaterial",{color:v,depthTest:false,transparent:true})]})]}),D&&jsxRuntime.jsx(w0,{kind:D,positionMm:[0,0,c+20]}),M&&o!==void 0&&jsxRuntime.jsx(r9,{text:String(o),options:g}),jsxRuntime.jsx(m0.Provider,{value:{selected:m,color:u},children:T})]})},"XtsMoverContent"),O8=s(e=>jsxRuntime.jsx(U5.Suspense,{fallback:jsxRuntime.jsx("group",{children:jsxRuntime.jsxs("mesh",{children:[jsxRuntime.jsx("boxGeometry",{args:[70,50,125]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#3D88E0",wireframe:true})]})}),children:jsxRuntime.jsx(Xa,{...e})}),"XtsMover");var R8=s(({moverId:e,tools:t,assetsBaseUrl:o,assetManifest:r,toolOverrides:n})=>{let i=U5.useContext(e0),a=U5.useSyncExternalStore(U5.useMemo(()=>l=>i?i.subscribe(e,l):()=>{},[i,e]),()=>i?.get(e),()=>{});return jsxRuntime.jsx("group",{name:"xts-mover-tools",children:t.map((l,c)=>jsxRuntime.jsx(Ya,{tool:l,assetsBaseUrl:o,assetManifest:r,override:l.toolType!=="Custom"?n?.[l.toolType]:void 0,liveVisible:l.id!==void 0?a?.get(l.id)?.visible:void 0},l.id??`${l.toolType}-${c}`))})},"XtsMoverTools"),Ya=s(({tool:e,assetsBaseUrl:t,assetManifest:o,override:r,liveVisible:n})=>{let i=e.toolType==="Custom"?e.customGlbUrl??"":a1(t,A6(e.toolType,o?.tools)),a=e.offsetMm??[0,0,30],l=l1("tool",e.toolType!=="Custom"?e.toolType:"AT8200_1000_0100",t),c=r??(e.toolType==="Custom"?e.customOriginCorrection??f1:l.correction);return jsxRuntime.jsx(Q,{pose:{positionMm:a,rotationDegEuler:e.rotationDegEuler},children:jsxRuntime.jsx(j1,{glbUrl:i,positionMm:c.translateMm,rotationDegEuler:c.rotationDegEuler,opacity:e.opacity??1,visible:n??e.visible!==false,placeholderSizeMm:[120,60,40]})})},"ToolInstance");var I8=s(({plateType:e,assetsBaseUrl:t,assetManifest:o,override:r})=>{let n=a1(t,Te(e,o?.magnetPlates)),i=l1("plate",e,t),a=r??i.correction;return jsxRuntime.jsx("group",{name:"xts-mover-plate",children:jsxRuntime.jsx(j1,{glbUrl:n,positionMm:a.translateMm,rotationDegEuler:a.rotationDegEuler,placeholderSizeMm:[50,60,45]})})},"XtsMoverPlate");var i1=s(({partTransformation:e,name:t,userData:o,children:r})=>jsxRuntime.jsx(Q,{pose:e?{positionMm:e.offsetMm,rotationDegEuler:e.rotationDegEuler,visible:e.visible}:null,name:t,userData:o,children:r}),"PartTransformGroup");L1();var _0=new three.Object3D,_8=new three.Color,n9=s(({glbUrl:e,movers:t,originCorrection:o,selectionColor:r="#90E0FF",defaultColor:n="#ffffff",onMoverClick:i})=>{let a=fiber.useThree(C=>C.gl),l=drei.useGLTF(e,true,true,U3(a)),c=U5.useRef(null),m=U5.useContext(o1),u=p1(),p=a.capabilities.getMaxAnisotropy(),d=o??f1,[f,M,g]=d.translateMm,[h,y,v]=d.rotationDegEuler,{geometry:P,material:A}=U5.useMemo(()=>{let C=SkeletonUtils_js.clone(l.scene);C.updateMatrixWorld(true);let S=null,R=null;if(C.traverse(k=>{let I=k;I.isMesh&&!S&&(S=I.geometry.clone(),S.applyMatrix4(I.matrixWorld),S.applyMatrix4(new three.Matrix4().makeRotationFromEuler(new three.Euler(h*j,y*j,v*j,"XYZ")).setPosition(f,M,g)),R=I.material);}),R){let k=Array.isArray(R)?R:[R];for(let I of k)z3(I,p);}return {geometry:S,material:R}},[l,p,f,M,g,h,y,v]);U5.useEffect(()=>()=>{P?.dispose();},[P]);let b=t.length;U5.useEffect(()=>{let C=c.current;C&&(C.instanceMatrix.setUsage(three.DynamicDrawUsage),C.instanceColor&&C.instanceColor.setUsage(three.DynamicDrawUsage),C.castShadow=true,C.receiveShadow=true);},[b]);let T=U5.useRef({movers:t,selectionColor:r,defaultColor:n});U5.useLayoutEffect(()=>{T.current={movers:t,selectionColor:r,defaultColor:n};});let x=U5.useCallback(()=>{let C=c.current;if(!C)return;let S=T.current,R=false;for(let k=0;k<S.movers.length;k++){let I=S.movers[k],F=m?.getOr(I.moverId,I.partPositionMm)??I.partPositionMm,_=K(F,I.positionFrame),D=t1(I.chain,_);D&&(_0.position.set(D.positionMm[0],D.positionMm[1],D.positionMm[2]),_0.rotation.set(0,0,D.yawDeg*Math.PI/180),_0.updateMatrix(),C.setMatrixAt(k,_0.matrix),_8.set(I.selected?S.selectionColor:S.defaultColor),C.setColorAt(k,_8),R=true);}R&&(C.instanceMatrix.needsUpdate=true,C.instanceColor&&(C.instanceColor.needsUpdate=true),C.computeBoundingSphere());},[m]);return fiber.useFrame(x),U5.useLayoutEffect(()=>u?.registerTransform(x),[u,x]),!P||!A||b===0?null:jsxRuntime.jsx("instancedMesh",{ref:c,args:[P,A,b],frustumCulled:false,onClick:i?C=>{let S=C.instanceId===void 0?void 0:t[C.instanceId];S&&i(S.moverIndex,C);}:void 0,onPointerDown:i?C=>{C.stopPropagation();}:void 0,userData:_7(t.map(C=>({moverIndex:C.moverIndex,moverId:C.moverId})))})},"InstancedMoverBatch");var ul=s(()=>()=>{},"NO_STORE_SUBSCRIBE");function B8(){let e=U5.useContext(o1);return U5.useSyncExternalStore(e?t=>e.subscribePartAssignment(t):ul,()=>e?.partAssignmentVersion??0,()=>0),t=>e?.getPartObjectId(t)}s(B8,"useMoverPartAssignments");function i9(e){return e.enabled&&!!e.moverGlbUrl&&e.moverCount>=4&&!e.showAnchorMarker&&!e.showMoverIds}s(i9,"isInstancingActive");function pl(e,t){if((e.tools?.length??0)>0||e.status?.error&&t.showDriveErrors||e.status?.warning&&t.showDriveWarnings)return true;for(let o of t.customAssets??[])if(o.visible!==false&&(o.binding.type==="all-movers"||o.binding.type==="mover"&&o.binding.moverRef.processingUnitObjectId===t.processingUnitObjectId&&o.binding.moverRef.moverIndex===e.index))return true;return false}s(pl,"moverNeedsOwnNode");function L8(e){return i9(e)?t=>!pl(t,e):()=>false}s(L8,"createInstancedMoverPredicate");var fl=s(({xpu:e,assetsBaseUrl:t,assetManifest:o,display:r,selection:n,selectionColors:i,onModuleClick:a,onMoverClick:l,moduleHighlights:c,feedSegmentHighlights:m,sidecarOverrides:u,customAssets:p,hepcoGfxProfile:d,chains:f,instancing:M=false})=>{let g=U5.useMemo(()=>S6(d),[d]),h=B8(),y=s((E,w)=>P2(e,E,h(w)),"partForMover"),v=U5.useMemo(()=>{if(!c||c.length===0)return null;let E=new Map;for(let w of c)for(let G of w.moduleTypes)E.has(G)||E.set(G,w.color);return E},[c]),P=U5.useMemo(()=>{if(!m||m.length===0)return null;let E=Ke(e,f),w=h5(E,m);return w.size>0?w:null},[m,e,f]),A=e.railSystem??"Beckhoff",b=U5.useMemo(()=>{let E=new Map;if(A!=="Beckhoff")return E;for(let w of e.parts){let G=f.get(w.globalNumber);G&&E.set(w.globalNumber,R4(G.modules,e.moverType));}return E},[A,e.parts,e.moverType,f]),T=b2(e.moverType),x=l1("mover",e.moverType,t),C=u?.movers?.[e.moverType]??x.correction,S=a1(t,ye(e.moverType,o?.movers)),R=V0(e.moverType,e.magnetPlateType),k=l1("plate",R??"AT9001_0550",t),I=R?u?.magnetPlates?.[R]??k.correction:void 0,F=R?a1(t,Te(R,o?.magnetPlates)):"",{showDriveWarnings:_,showDriveErrors:D}=r,L={enabled:M,moverGlbUrl:S,moverCount:e.movers.length,showAnchorMarker:r.showMoverAnchorMarker,showMoverIds:r.showMoverIds,showDriveWarnings:_,showDriveErrors:D,processingUnitObjectId:e.objectId,customAssets:p},O=i9(L),B=U5.useMemo(()=>L8(L),[M,S,e.movers.length,e.objectId,r?.showMoverAnchorMarker,r?.showMoverIds,_,D,p]),N=e.movers.filter(B).map(E=>({moverId:E.id,moverIndex:E.index,partPositionMm:E.partPositionMm,chain:f.get(y(E.partOid,E.id)?.globalNumber??E.partOid),selected:n?_e(n,{processingUnitObjectId:e.objectId,moverIndex:E.index}):false,positionFrame:e.positionFrame})).filter(E=>E.chain!==void 0);return jsxRuntime.jsxs("group",{name:`xpu-${e.objectId}`,userData:w7(e.objectId),children:[e.parts.map(E=>{let w=f.get(E.globalNumber);return w?jsxRuntime.jsxs(i1,{name:`part-${E.globalNumber}`,userData:q3(E.objectId,E.globalNumber),partTransformation:E.partTransformation,children:[A==="HepcoGfx"&&jsxRuntime.jsx(X6,{chain:w,profile:g}),w.modules.map((G,W)=>{let X=v6(G.moduleType,A,o?.modules),H=X?a1(t,X):null,V=A==="Beckhoff"?j2(G.moduleType,e.moverType):null,w1=V&&b.get(E.globalNumber)?.has(W)?P6(V,o?.guidingRails):"",Y=V&&w1?{railType:V,glbUrl:a1(t,w1)}:null,e1={processingUnitObjectId:e.objectId,partObjectId:E.objectId,moduleIndex:W},T1=n?q0(n,e1):false,K2=v?.get(G.moduleType)??void 0,Y2=P?.get(E.objectId)?.get(W);return jsxRuntime.jsx(e9,{userData:D7(W),module:G,glbUrl:H,assetsBaseUrl:t,originCorrection:u?.modules?.[G.moduleType],guidingRail:Y,guidingRailCorrection:V?u?.rails?.[V]:void 0,selected:T1,selectionColor:i?.module??"#FFE090",feedSegmentColor:Y2,highlightColor:K2,moduleGlobalNumber:G.globalNumber,driveStatus:G.status,showWarnings:_,showErrors:D,showCornerMarkers:r.showModuleCornerMarkers,showTypePlate:r.moduleTypePlates,cornerMarkerSizeMm:r.moduleCornerMarkerOptions.sizeMm,cornerMarkerColor:r.moduleCornerMarkerOptions.color,onClick:a?Oe=>a(e1,Oe):void 0},`${G.moduleType}-${W}`)})]},E.globalNumber):null}),O&&jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(n9,{glbUrl:S,originCorrection:C,selectionColor:i?.mover??"#90E0FF",onMoverClick:l?(E,w)=>l({processingUnitObjectId:e.objectId,moverIndex:E},w):void 0,movers:N})}),O&&R&&I&&jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(n9,{glbUrl:F,originCorrection:I,selectionColor:i?.mover??"#90E0FF",movers:N})}),jsxRuntime.jsx(U5.Suspense,{fallback:null,children:e.movers.map(E=>{let w=y(E.partOid,E.id),G=f.get(w?.globalNumber??E.partOid);return !G||B(E)?null:jsxRuntime.jsx(i1,{name:`part-${w?.globalNumber??E.partOid}-mover-${E.id}`,userData:w?q3(w.objectId,w.globalNumber):void 0,partTransformation:w?.partTransformation,children:jsxRuntime.jsxs(O8,{userData:F7(E.index,E.id),chain:G,partPositionMm:E.partPositionMm,moverId:E.id,glbUrl:S,moverType:e.moverType,assetsBaseUrl:t,originCorrection:u?.movers?.[e.moverType],pathLengthMm:T?.pathLengthMm,heightMm:T?.heightMm,positionFrame:e.positionFrame,selected:n?_e(n,{processingUnitObjectId:e.objectId,moverIndex:E.index}):false,selectionColor:i?.mover??"#90E0FF",driveStatus:E.status,showWarnings:_,showErrors:D,showMoverId:r.showMoverIds,moverIdLabelOptions:r.moverIdLabelOptions,showAnchorMarker:r.showMoverAnchorMarker,anchorMarkerSizeMm:r.moverAnchorMarkerOptions.sizeMm,anchorMarkerColor:r.moverAnchorMarkerOptions.color,onClick:l?W=>l({processingUnitObjectId:e.objectId,moverIndex:E.index},W):void 0,children:[R?jsxRuntime.jsx(I8,{plateType:R,assetsBaseUrl:t,assetManifest:o,override:u?.magnetPlates?.[R]}):null,E.tools&&E.tools.length>0?jsxRuntime.jsx(R8,{moverId:E.id,tools:E.tools,assetsBaseUrl:t,assetManifest:o,toolOverrides:u?.tools}):null,(p??[]).map(W=>{if(W.visible===false)return null;let{binding:X}=W;return X.type==="static"||X.type==="mover"&&(X.moverRef.processingUnitObjectId!==e.objectId||X.moverRef.moverIndex!==E.index)?null:jsxRuntime.jsx(j1,{glbUrl:W.glbUrl,positionMm:X.offsetMm??[0,0,0],rotationDegEuler:X.rotationDegEuler??[0,0,0],scale:X.scale??1,opacity:W.opacity},W.id)})]})},E.id)})})]})},"ProcessingUnitRootImpl"),l9=U5__default.default.memo(fl);l9.displayName="ProcessingUnitRoot";function f2(e){let t=e>>16&255,o=e>>8&255,r=e&255;return `#${(t<<16|o<<8|r).toString(16).padStart(6,"0")}`}s(f2,"argbIntToHex");function gl(e){let t=/^#?([0-9a-f]{6})$/i.exec(e.trim());return (4278190080|(t?parseInt(t[1],16):0))>>>0}s(gl,"hexToArgbInt");var U2=s(({points:e,thicknessMm:t,color:o,opacity:r=1,segmentsPerStep:n=1,radialSegments:i=8})=>{let a=U5.useMemo(()=>{if(e.length<2)return null;let c=new three.CatmullRomCurve3(e,false,"catmullrom",0),m=Math.max(8,e.length*n);return new three.TubeGeometry(c,m,t/2,i,false)},[e,t,n,i]),l=U5.useMemo(()=>new three.Color(o),[o]);return a?jsxRuntime.jsx("mesh",{geometry:a,children:jsxRuntime.jsx("meshStandardMaterial",{color:l,transparent:r<1,opacity:r,side:three.DoubleSide,roughness:.6,metalness:.1})}):null},"PathTube");var B0=s(({name:e,spans:t,color:o,thicknessMm:r,liftZMm:n,lateralMm:i,opacity:a,description:l,showDescription:c,labelSizeMm:m,labelColor:u,fontFamily:p,children:d})=>{let f=U5.useMemo(()=>{if(!c||t.length===0)return null;let M=t[0],g=(M.startMm+M.endMm)/2;return R1(M.chain,g,n,i)},[c,t,n,i]);return jsxRuntime.jsxs("group",{name:e,children:[t.map((M,g)=>jsxRuntime.jsx(U2,{points:u1(M.chain,M.startMm,M.endMm,Xe,n,i),thicknessMm:r,color:o,opacity:a},g)),d,f&&l&&jsxRuntime.jsx(A1,{positionMm:[f.position.x,f.position.y,f.position.z],text:l,sizeMm:m,color:u,fontFamily:p,liftMm:r*1.5+m*.3})]})},"TrackRangeOverlay");var xl=s(({stations:e,chainsByPartOid:t,partTransformsByPartOid:o,display:r,positionFrame:n})=>{let i=r?.stationOptions,a=i?.thicknessMm??8,l=i?.displacementMm??60,c=i?.lateralDisplacementMm??0,m=r?.stationMarkerOptions?.shape??"Diamond",u=r?.stationMarkerOptions?.sizeMm??12,p=i?.showStationDescription??false,d=i?.showStopPositionValues??false,f=i?.textOptions?.sizeMm??30,M=i?.labelColorOverride,g=i?.textOptions?.fontFamily;return jsxRuntime.jsx("group",{name:"xts-stations",children:e.filter(h=>h.isEnabled).map(h=>{let y=h.partOids[0],v=y!==void 0?o?.get(y):void 0;return jsxRuntime.jsx(i1,{name:`station-wrap-${h.stationId}`,partTransformation:v,children:jsxRuntime.jsx(vl,{station:h,chainsByPartOid:t,thickness:a,liftZ:l,lateralMm:c,defaultMarkerShape:m,defaultMarkerSize:u,showDescription:p,showStopValues:d,labelSize:f,labelColorOverride:M,fontFamily:g,positionFrame:n})},h.stationId)})})},"XtsStationsImpl"),c9=U5__default.default.memo(xl);c9.displayName="XtsStations";var vl=s(({station:e,chainsByPartOid:t,thickness:o,liftZ:r,lateralMm:n,defaultMarkerShape:i,defaultMarkerSize:a,showDescription:l,showStopValues:c,labelSize:m,labelColorOverride:u,fontFamily:p,positionFrame:d})=>{let f=U5.useMemo(()=>f2(e.stationColor),[e.stationColor]),M=u??f,g=e.stopMarkerShape??i,h=e.stopMarkerSizeMm??a,y=U5.useMemo(()=>R2(e.partOids,e.startPositionOnPart,e.endPositionOnPart,v=>t.get(v),d),[e,t,d]);return jsxRuntime.jsx(B0,{name:`station-${e.stationId}`,spans:y,color:f,thicknessMm:o,liftZMm:r,lateralMm:n,description:e.description,showDescription:l,labelSizeMm:m,labelColor:M,fontFamily:p,children:(e.stopPositions??[]).map((v,P)=>{let A=t.get(e.partOids[0]);if(!A)return null;let b=Y1(v,e,d),T=R1(A,b,r,n);return T?jsxRuntime.jsxs(U5__default.default.Fragment,{children:[jsxRuntime.jsx(N1,{position:T.position,tangent:T.tangent,shape:g,sizeMm:h,color:f}),c&&jsxRuntime.jsx(A1,{positionMm:[T.position.x,T.position.y,T.position.z],text:`${Math.round(v)} mm`,sizeMm:m*.85,color:M,fontFamily:p,liftMm:h*.6+m*.4})]},P):null})})},"Station");var Rl=s(({chain:e,partPositionMm:t,glbUrl:o,moverType:r="AT9014_0055",assetsBaseUrl:n="/models",originCorrection:i,opacity:a=.45,tintColor:l,pathLengthMm:c=70,heightMm:m=125})=>{let u=l1("mover",r,n),p=i??u.correction??f1,d=I1(o??"");U5.useEffect(()=>{if(!d)return;let M=[],g=l?new three.Color(l):null,h=s(y=>{let v=y.clone();if(v.transparent=a<1,v.opacity=a,v.depthWrite=a>=.99,g&&"emissive"in v){let P=v;P.emissive.copy(g),P.emissiveIntensity=.35;}return v},"cloneOne");return d.scene.traverse(y=>{let v=y;if(!v.isMesh||!v.material)return;let P=Array.isArray(v.material)?v.material.map(h):h(v.material);M.push({mesh:v,original:v.material,cloned:P}),v.material=P;}),()=>{for(let{mesh:y,original:v,cloned:P}of M)y.material=v,Array.isArray(P)?P.forEach(A=>A.dispose()):P.dispose();}},[d,a,l]);let f=t1(e,t);return f?jsxRuntime.jsx("group",{position:f.positionMm,rotation:[0,0,f.yawDeg*Math.PI/180],raycast:()=>null,children:!o||!d?jsxRuntime.jsxs("mesh",{position:[0,0,50],children:[jsxRuntime.jsx("boxGeometry",{args:[c,50,m]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#3D88E0",wireframe:true,transparent:true,opacity:a})]}):jsxRuntime.jsx(Q,{pose:{positionMm:p.translateMm,rotationDegEuler:p.rotationDegEuler},children:jsxRuntime.jsx("primitive",{object:d.scene})})}):null},"XtsStaticMoverContent"),z8=s(e=>jsxRuntime.jsx(U5.Suspense,{fallback:null,children:jsxRuntime.jsx(Rl,{...e})}),"XtsStaticMover");var kl=s(({stations:e,chainsByPartOid:t,partTransformsByPartOid:o,moverType:r,glbUrl:n,assetsBaseUrl:i,options:a,positionFrame:l})=>{let c=a?.opacity??.45,m=a?.tintByStation!==false;return jsxRuntime.jsx("group",{name:"xts-stop-position-movers",children:e.filter(u=>u.isEnabled).flatMap(u=>(u.stopPositions??[]).map((p,d)=>{let f=u.partOids[0];if(f===void 0)return null;let M=t.get(f);if(!M)return null;let g=m?f2(u.stationColor):void 0,h=Y1(p,u,l);return jsxRuntime.jsx(i1,{name:`stop-mover-wrap-${u.stationId}-${d}`,partTransformation:o?.get(f),children:jsxRuntime.jsx(z8,{chain:M,partPositionMm:h,glbUrl:n,moverType:r,assetsBaseUrl:i,opacity:c,tintColor:g||void 0})},`s${u.stationId}-${d}`)}))})},"XtsStopPositionMoversImpl"),u9=U5__default.default.memo(kl);u9.displayName="XtsStopPositionMovers";var Dl=s(({areas:e,chainsByPartOid:t,partTransformsByPartOid:o,display:r,positionFrame:n})=>{let i=r?.areaOptions,a=i?.thicknessMm??8,l=i?.displacementMm??60,c=i?.lateralDisplacementMm??0,m=i?.showAreaDescription??true,u=i?.textOptions?.sizeMm??30,p=i?.labelColorOverride,d=i?.textOptions?.fontFamily,f=i?.opacity??1;return jsxRuntime.jsx("group",{name:"xts-areas",children:e.filter(M=>M.isEnabled).map(M=>{let g=M.partOids[0],h=g!==void 0?o?.get(g):void 0;return jsxRuntime.jsx(i1,{name:`area-wrap-${M.areaId}`,partTransformation:h,children:jsxRuntime.jsx(Fl,{area:M,chainsByPartOid:t,thickness:a,liftZ:l,lateralMm:c,opacity:f,showDescription:m,labelSize:u,labelColorOverride:p,fontFamily:d,positionFrame:n})},M.areaId)})})},"XtsAreasImpl"),p9=U5__default.default.memo(Dl);p9.displayName="XtsAreas";var Fl=s(({area:e,chainsByPartOid:t,thickness:o,liftZ:r,lateralMm:n,opacity:i,showDescription:a,labelSize:l,labelColorOverride:c,fontFamily:m,positionFrame:u})=>{let p=U5.useMemo(()=>f2(e.color),[e.color]),d=U5.useMemo(()=>R2(e.partOids,e.startPositionOnPart,e.endPositionOnPart,f=>t.get(f),u),[e,t,u]);return jsxRuntime.jsx(B0,{name:`area-${e.areaId}`,spans:d,color:p,thicknessMm:o,liftZMm:r,lateralMm:n,opacity:i,description:e.description,showDescription:a,labelSizeMm:l,labelColor:c??p,fontFamily:m})},"Area");function d9(e){return [...e].sort((t,o)=>t.positionMm-o.positionMm)}s(d9,"sortHeatmapSamples");function f9(e,t){if(e.length===0)return null;if(e.length===1)return e[0].value;let o=e[0],r=e[e.length-1];if(t<=o.positionMm)return o.value;if(t>=r.positionMm)return r.value;let n=0,i=e.length-1;for(;i-n>1;){let u=n+i>>1;e[u].positionMm<=t?n=u:i=u;}let a=e[n],l=e[i],c=l.positionMm-a.positionMm;if(c===0)return a.value;let m=(t-a.positionMm)/c;return a.value+m*(l.value-a.value)}s(f9,"interpolateHeatmapValue");function g9(e,t,o){if(o<=t)return 0;let r=(e-t)/(o-t);return r<0?0:r>1?1:r}s(g9,"normaliseToHeatmapRange");var jl="#22c55e",Nl="#ef4444",Ul=6,zl=-15,Vl=0,Xl=8,Wl=.85,h9=8,Zl=s(({chain:e,samples:t,min:o,max:r,minColor:n=jl,maxColor:i=Nl,thicknessMm:a=Ul,displacementMm:l=zl,lateralDisplacementMm:c=Vl,segmentsPerModule:m=Xl,opacity:u=Wl,positionFrame:p})=>{let d=U5.useMemo(()=>d9(t),[t]),f=U5.useMemo(()=>{if(e.modules.length===0||d.length===0)return null;let g=e.trackLengthMm/Math.max(1,e.modules.length)/m,h=u1(e,0,e.trackLengthMm,g,l,c);if(h.length<2)return null;let y=new three.CatmullRomCurve3(h,false,"catmullrom",0),v=h.length-1,P=new three.TubeGeometry(y,v,a/2,h9,false),A=P.attributes.position.count,b=new Float32Array(A*3),T=new three.Color(n),x=new three.Color(i),C=new three.Color;for(let S=0;S<=v;S++){let k=S/v*e.trackLengthMm,I=O1(k,p),F=f9(d,I),_=F!==null?g9(F,o,r):0;C.copy(T).lerp(x,_);for(let D=0;D<=h9;D++){let L=S*(h9+1)+D;b[L*3]=C.r,b[L*3+1]=C.g,b[L*3+2]=C.b;}}return P.setAttribute("color",new three.BufferAttribute(b,3)),P},[e,d,o,r,n,i,a,l,c,m,p]);return U5.useEffect(()=>()=>{f?.dispose();},[f]),f?jsxRuntime.jsx("mesh",{geometry:f,raycast:()=>null,children:jsxRuntime.jsx("meshStandardMaterial",{vertexColors:true,transparent:u<1,opacity:u,side:three.DoubleSide,roughness:.55,metalness:.05,emissiveIntensity:.3})}):null},"PartHeatmapImpl"),Z8=U5__default.default.memo(Zl);Z8.displayName="XtsStatorHeatmap.Part";var Kl=s(({chainsByPartOid:e,partTransformsByPartOid:t,parts:o,positionFrame:r,...n})=>jsxRuntime.jsx("group",{name:"xts-stator-heatmap",children:o.map(i=>{let a=e.get(i.partOid);return a?jsxRuntime.jsx(i1,{name:`heatmap-wrap-part-${i.partOid}`,partTransformation:t?.get(i.partOid),children:jsxRuntime.jsx(Z8,{chain:a,samples:i.samples,...n,positionFrame:r})},i.partOid):null})}),"XtsStatorHeatmapImpl"),b9=U5__default.default.memo(Kl);b9.displayName="XtsStatorHeatmap";function K8(e,t={}){let{invert:o=false,intermediateStepMm:r=0}=t;if(e.modules.length===0)return [];let n=e.trackLengthMm,i=[];for(let c=0;c<e.modules.length;c++){let m=e.modules[c],u=o?m.startPositionInPartMm+m.trackLengthMm:m.startPositionInPartMm;i.push({positionMm:u,kind:"boundary",moduleIndex:c,positionInModuleMm:o?m.trackLengthMm:0});}let a=e.modules.length-1,l=e.modules[a];if(o){let c=e.modules[0];i.push({positionMm:c.startPositionInPartMm,kind:"boundary",moduleIndex:0,positionInModuleMm:0});}else i.push({positionMm:l.startPositionInPartMm+l.trackLengthMm,kind:"boundary",moduleIndex:a,positionInModuleMm:l.trackLengthMm});if(r>0)for(let c=r;c<n-.5;c+=r){if(i.some(p=>p.kind==="boundary"&&Math.abs(p.positionMm-c)<.5))continue;let u=Yl(e,c);u&&i.push({positionMm:c,kind:"intermediate",moduleIndex:u.idx,positionInModuleMm:c-u.module.startPositionInPartMm});}return i.sort((c,m)=>c.positionMm-m.positionMm),i}s(K8,"buildDimensionTicks");function Y8(e,t="partPosition"){let o=s(r=>Math.round(r),"round");return t==="partPosition"?`${o(e.positionMm)} mm`:t==="fromModule"?`${o(e.positionInModuleMm)} mm`:`${o(e.positionMm)} (${o(e.positionInModuleMm)}) mm`}s(Y8,"formatDimensionValue");function Yl(e,t){for(let r=0;r<e.modules.length;r++){let n=e.modules[r];if(t<n.startPositionInPartMm+n.trackLengthMm)return {idx:r,module:n}}let o=e.modules[e.modules.length-1];return {idx:e.modules.length-1,module:o}}s(Yl,"findModuleAt");var ql=s(({chainsByPartOid:e,partTransformsByPartOid:t,railSystem:o,display:r,positionFrame:n})=>{let i=r?.dimensionOptions,a=i?.thicknessMm??4,l=i?.displacementMm??0,c=o==="HepcoGfx"?40:80,m=i?.lateralDisplacementMm??c,u=r?.invertDimensions??false,p=i?.textOptions?.color??"#88AAFF",d=i?.showValues??false,f=i?.showIntermediateValues??true,M=i?.intermediateStepMm??0,g=i?.valueMode??"partPosition",h=i?.textOptions?.sizeMm??30,y=i?.textOptions?.fontFamily,v=i?.intermediateMarkerOptions;return jsxRuntime.jsx("group",{name:"xts-dimensions",children:Array.from(e.entries()).map(([P,A])=>jsxRuntime.jsx(i1,{name:`dim-wrap-part-${P}`,partTransformation:t?.get(P),children:jsxRuntime.jsx(Jl,{chain:A,thickness:a,liftZ:l,lateralMm:m,invert:u,color:p,showValues:d,showIntermediateValues:f,intermediateStepMm:M,intermediateShape:v?.shape??"Tick",intermediateSizeMm:v?.sizeMm,valueMode:g,labelSize:h,fontFamily:y,positionFrame:n})},P))})},"XtsDimensionsImpl"),y9=U5__default.default.memo(ql);y9.displayName="XtsDimensions";var Jl=s(({chain:e,thickness:t,liftZ:o,lateralMm:r,invert:n,color:i,showValues:a,showIntermediateValues:l,intermediateStepMm:c,intermediateShape:m,intermediateSizeMm:u,valueMode:p,labelSize:d,fontFamily:f,positionFrame:M})=>{let g=u1(e,0,e.trackLengthMm,20,o,r),h=K8(e,{invert:n,intermediateStepMm:c}),y=Math.max(t*2,8),v=u??y*.6,P=Ql(i,.35),A=[];for(let b of h){let T=R1(e,b.positionMm,o,r);T&&A.push({tick:b,sample:T});}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U2,{points:g,thicknessMm:t,color:i,opacity:.7}),A.map(({tick:b,sample:T},x)=>{let C=b.kind==="boundary",S=a&&(C||l),R=O1(b.positionMm,M),k=Y8({...b,positionMm:R},p);return jsxRuntime.jsxs(U5__default.default.Fragment,{children:[jsxRuntime.jsx(N1,{position:T.position,tangent:T.tangent,shape:C?"Tick":m,sizeMm:C?y:v,color:C?i:P}),S&&jsxRuntime.jsx(A1,{positionMm:[T.position.x,T.position.y,T.position.z],text:k,sizeMm:C?d:d*.8,color:C?i:P,fontFamily:f})]},x)})]})},"PartDimensions");function Ql(e,t){if(!e.startsWith("#")||e.length!==7&&e.length!==4)return e;let o=e.length===4?"#"+e.slice(1).split("").map(l=>l+l).join(""):e,r=parseInt(o.slice(1,3),16),n=parseInt(o.slice(3,5),16),i=parseInt(o.slice(5,7),16),a=s(l=>Math.max(0,Math.min(255,Math.round(l*(1-t)))),"k");return `#${a(r).toString(16).padStart(2,"0")}${a(n).toString(16).padStart(2,"0")}${a(i).toString(16).padStart(2,"0")}`}s(Ql,"mixWithBlack");var ec=4,Q8=s(({infoBars:e,chainsByPartObjectId:t,partTransformsByPartObjectId:o,positionFrame:r})=>jsxRuntime.jsx("group",{name:"xts-infobars",children:e.filter(n=>n.visible).map((n,i)=>{let a=t.get(n.partObjectId);if(!a)return null;let l=o?.get(n.partObjectId),c=n.displacement+n.zIndex*ec,m=K(n.partStartPositionMm,r),u=K(n.partEndPositionMm,r),p=u1(a,m,u,15,c);return jsxRuntime.jsxs(i1,{name:`infobar-${i}`,partTransformation:l,children:[jsxRuntime.jsx(U2,{points:p,thicknessMm:Math.max(n.thickness,1),color:n.color.color}),(n.markers??[]).map((d,f)=>{let M=K(d.positionMm,r),g=R1(a,M,c+2);return g?jsxRuntime.jsx(N1,{position:g.position,tangent:g.tangent,shape:d.shape,sizeMm:d.sizeMm,color:d.color??n.color.color},f):null})]},i)})}),"XtsInfoBars");var $8=s(({xpu:e,chains:t,trackTransform:o,assetsBaseUrl:r,assetManifest:n,display:i,selection:a,selectionColors:l,moduleHighlights:c,feedSegmentHighlights:m,onModuleClick:u,onMoverClick:p,sidecarOverrides:d,customAssets:f,instancing:M,hepcoGfxProfile:g,stations:h,areas:y,infoBars:v,statorHeatmap:P,showStations:A,showAreas:b,showDimensions:T})=>{let x=U5.useMemo(()=>{let I=new Map,F=new Map,_=new Map,D=new Map;for(let L of e.parts){let O=t.get(L.globalNumber);O&&(I.set(L.globalNumber,O),F.set(L.objectId,O)),_.set(L.globalNumber,L.partTransformation),D.set(L.objectId,L.partTransformation);}return {chainsByGlobalNumber:I,chainsByPartObjectId:F,transformsByGlobalNumber:_,transformsByPartObjectId:D}},[e,t]),C=s(I=>I.some(F=>x.chainsByGlobalNumber.has(F)),"onThisXpu"),S=h.filter(I=>C(I.partOids)),R=y.filter(I=>C(I.partOids)),k=P?.parts.filter(I=>x.chainsByGlobalNumber.has(I.partOid))??[];return jsxRuntime.jsxs(Q,{name:`xpu-root-${e.objectId}`,pose:o,defaultPositionMm:[0,0,x2],children:[jsxRuntime.jsx(l9,{xpu:e,chains:t,assetsBaseUrl:r,assetManifest:n,display:i,selection:a,selectionColors:l,moduleHighlights:c,feedSegmentHighlights:m,onModuleClick:u,onMoverClick:p,sidecarOverrides:d,customAssets:f,instancing:M,hepcoGfxProfile:g}),A&&jsxRuntime.jsx(c9,{stations:S,chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,display:i,positionFrame:e.positionFrame}),i?.showStopPositionMovers&&jsxRuntime.jsx(u9,{stations:S,chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,moverType:e.moverType,glbUrl:a1(r,ye(e.moverType,n?.movers)),assetsBaseUrl:r,options:i.stopPositionMoverOptions,positionFrame:e.positionFrame}),b&&R.length>0&&jsxRuntime.jsx(p9,{areas:R,chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,display:i,positionFrame:e.positionFrame}),i?.showStatorHeatmap&&P&&k.length>0&&jsxRuntime.jsx(b9,{chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,parts:k,min:P.min,max:P.max,minColor:P.minColor||void 0,maxColor:P.maxColor||void 0,thicknessMm:P.thicknessMm,displacementMm:P.displacementMm,lateralDisplacementMm:P.lateralDisplacementMm,segmentsPerModule:P.segmentsPerModule,opacity:P.opacity,positionFrame:e.positionFrame}),T&&jsxRuntime.jsx(y9,{chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,railSystem:e.railSystem??"Beckhoff",display:i,positionFrame:e.positionFrame}),v.length>0&&jsxRuntime.jsx(Q8,{infoBars:v,chainsByPartObjectId:x.chainsByPartObjectId,partTransformsByPartObjectId:x.transformsByPartObjectId,positionFrame:e.positionFrame})]})},"XpuGroup");var pc=new Map,dc=[],nt=s(({config:e,assetsBaseUrl:t,assetManifest:o,showGrid:r=true,display:n,selection:i,selectionColors:a,moduleHighlights:l,feedSegmentHighlights:c,onModuleClick:m,onMoverClick:u,onCustomAssetClick:p,transformGizmo:d,performance:f,sidecarOverrides:M,trackTransformOverrides:g,hepcoGfxProfile:h,shadowOnDemand:y=false,demandRendering:v=true,viewCube:P,overlayFps:A=false,onOrbitReady:b,onCameraReady:T,projection:x="perspective",lock:C,keyboardNavigation:S,statorHeatmap:R,measurement:k,trackIndex:I})=>{let F=U5.useContext(o1);l7(f?.autoPauseOnHidden!==false,v),c7(v,F),u7(y);let _=n.showStations,D=n.showAreas,L=n.showDimensions,O=x==="orthographic",B=U5.useMemo(()=>B1(e,g),[e,g]),N=U5.useMemo(()=>{let Y=B.getCenter(new three.Vector3);return [Y.x,Y.y,Y.z]},[B]),E=O?C?.rotate===false:C?.rotate!==true,w=C?.pan!==true,G=C?.zoom!==true,W=w&&S?.enabled!==false,X=U5.useMemo(()=>e.processingUnits.map(Y=>{let e1=new Map;for(let T1 of Y.parts)e1.set(T1.globalNumber,Z(T1.modules));return e1}),[e]),H=e.stations??[],V=e.areas??[],w1=U5.useMemo(()=>{let Y=new Map;for(let e1 of e.infoBars??[]){let T1=Y.get(e1.processingUnitObjectId);T1?T1.push(e1):Y.set(e1.processingUnitObjectId,[e1]);}return Y},[e.infoBars]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(K7,{shadows:n.lighting.shadows,environmentLighting:n.lighting.environment,environmentIntensity:n.lighting.environmentIntensity}),jsxRuntime.jsx(M7,{...n.postProcessing}),r&&jsxRuntime.jsx(drei.Grid,{args:[5e3,5e3],cellSize:100,sectionSize:500,cellColor:"#506070",sectionColor:"#90A0B0",rotation:b5,fadeDistance:5e3}),O&&jsxRuntime.jsx(Mc,{bbox:B,paddingFactor:1.1}),jsxRuntime.jsx(drei.OrbitControls,{makeDefault:true,enableDamping:true,dampingFactor:.1,enableRotate:E,enablePan:w,enableZoom:G,rotateSpeed:1,panSpeed:1,zoomSpeed:1,target:O?N:[0,0,0]}),jsxRuntime.jsx(h4,{enabled:W,speed:S?.speed}),b&&jsxRuntime.jsx(fc,{onReady:b}),T&&jsxRuntime.jsx(gc,{onReady:T}),A&&jsxRuntime.jsx(drei.Stats,{}),P?.enabled&&jsxRuntime.jsx(drei.GizmoHelper,{alignment:P.alignment??"bottom-right",margin:P.marginPx??[80,80],children:jsxRuntime.jsx(d4,{})}),jsxRuntime.jsxs(Q,{name:u0,pose:e.orientation,children:[e.customAssets&&e.customAssets.length>0&&jsxRuntime.jsx(x7,{assets:e.customAssets,selection:i,selectionColor:a?.customAsset,onAssetClick:p,poseOverrides:d?.assetPoses}),e.processingUnits.map((Y,e1)=>jsxRuntime.jsx($8,{xpu:Y,chains:X[e1]??pc,trackTransform:x1(Y,g),assetsBaseUrl:t,assetManifest:o,display:n,selection:i,selectionColors:a,moduleHighlights:l,feedSegmentHighlights:c,onModuleClick:m,onMoverClick:u,sidecarOverrides:M,customAssets:e.customAssets,instancing:f?.instancing===true,hepcoGfxProfile:h,stations:H,areas:V,infoBars:w1.get(Y.objectId)??dc,statorHeatmap:R,showStations:_,showAreas:D,showDimensions:L},Y.objectId))]}),d?.target&&d.pose&&jsxRuntime.jsx(Q,{pose:e.orientation,children:jsxRuntime.jsx(m4,{pose:d.pose,handles:d.handles,axisColors:d.axisColors,sizePx:d.sizePx,minScale:d.minScale,translateSnapMm:d.translateSnapMm,rotateSnapDeg:d.rotateSnapDeg,scaleSnap:d.scaleSnap,onDragStart:d.onDragStart,onDrag:d.onDrag,onDragEnd:d.onDragEnd})}),jsxRuntime.jsx($3,{config:e,trackIndex:I??et,style:k?.style}),jsxRuntime.jsx(V7,{config:e,trackIndex:I??et,snap:k?.snap,groundPlaneZMm:k?.groundPlaneZMm,annotationTextFactory:k?.annotationTextFactory})]})},"XtsScene"),et=[],fc=s(({onReady:e})=>{let t=fiber.useThree(o=>o.controls);return U5.useEffect(()=>{t&&e(t);},[t,e]),null},"ControlsCapture"),gc=s(({onReady:e})=>{let t=fiber.useThree(o=>o.camera);return U5.useEffect(()=>{e(t);},[t,e]),null},"CameraCapture"),Mc=s(({bbox:e,paddingFactor:t})=>{let o=U5.useRef(null),r=fiber.useThree(l=>l.size),n=fiber.useThree(l=>l.controls),i=r.height>0?r.width/r.height:1,a=U5.useMemo(()=>$1(e,i,t),[e,i,t]);return U5.useLayoutEffect(()=>{let l=o.current;l&&(l.left=a.left,l.right=a.right,l.top=a.top,l.bottom=a.bottom,l.near=a.near,l.far=a.far,l.up.set(...a.up),l.position.set(...a.position),l.updateProjectionMatrix(),l.lookAt(new three.Vector3(...a.target)),n&&(n.target.set(...a.target),n.update()));},[a,n]),jsxRuntime.jsx(drei.OrthographicCamera,{ref:o,makeDefault:true,up:a.up,near:a.near,far:a.far,left:a.left,right:a.right,top:a.top,bottom:a.bottom,position:a.position})},"TopDownOrthoCamera");var it=.01,st=s(({config:e,warningGapMm:t,intervalMs:o=0,forceClosedLoop:r,onCollisionsChange:n})=>{let i=U5.useContext(o1),a=U5.useRef(""),l=U5.useRef(0),c=U5.useRef([]);return U5.useEffect(()=>{let m=[];for(let u of e.processingUnits)for(let p of u.parts)try{let d=Z(p.modules),f=u.movers.filter(M=>M.partOid===p.globalNumber).map(M=>({moverIndex:M.index,id:M.id,partOid:M.partOid,moverType:u.moverType,partPositionMm:M.partPositionMm,...u.moverType==="Custom"&&u.customMoverLayout?.pathLengthMm!==void 0?{pathLengthOverrideMm:u.customMoverLayout.pathLengthMm}:{}}));f.length>=2&&m.push({chain:d,partOid:p.globalNumber,xpuObjectId:u.objectId,moverList:f});}catch{}c.current=m,a.current="";},[e]),fiber.useFrame(({clock:m})=>{if(o>0){let f=m.getElapsedTime()*1e3;if(f-l.current<o)return;l.current=f;}let u={};t!==void 0&&(u.warningGapMm=t),r!==void 0&&(u.forceClosedLoop=r);let p=[];for(let f of c.current){let M=f.moverList.map(h=>{let y=i?.get(h.id),v={ref:{processingUnitObjectId:f.xpuObjectId,moverIndex:h.moverIndex},id:h.id,partOid:h.partOid,moverType:h.moverType,partPositionMm:y??h.partPositionMm};return h.pathLengthOverrideMm!==void 0&&(v.pathLengthMm=h.pathLengthOverrideMm),v}),g=ze(f.chain,f.partOid,M,u);for(let h of g)p.push(h);}p.sort((f,M)=>M.penetrationMm-f.penetrationMm);let d=p.map(f=>{let M=Math.round(f.penetrationMm/it)*it,[g,h]=f.idA<f.idB?[f.idA,f.idB]:[f.idB,f.idA];return `${g}|${h}|${M.toFixed(2)}`}).join(";");d!==a.current&&(a.current=d,n(p));}),null},"CollisionMonitor");var at=.01,lt=s(({config:e,orientation:t,trackTransformOverrides:o,warningGapMm:r,onCollisionsChange:n})=>{let i=U5.useRef("");return U5.useEffect(()=>{let a={};r!==void 0&&(a.warningGapMm=r);let l=te(e,t,o,a),c=l.map(m=>{let u=Math.round(m.overlapMm/at)*at;return `${m.a.processingUnitObjectId}.${m.a.partObjectId}.${m.a.moduleIndex}|${m.b.processingUnitObjectId}.${m.b.partObjectId}.${m.b.moduleIndex}|${u.toFixed(2)}`}).join(";");c!==i.current&&(i.current=c,n(l));},[e,t,o,r]),null},"ModuleCollisionMonitor");var ct=Symbol.for("beckhoff-xts-viewer-3d/silencer"),Pc=[{type:"warn",prefix:"THREE.Clock: This module has been deprecated."}];function mt(){let e=three.getConsoleFunction();if(e&&e[ct])return;let t=s((o,r,...n)=>{if(typeof r=="string"&&Pc.some(a=>a.type===o&&r.startsWith(a.prefix)))return;if(e){e(o,r,...n);return}let i=console[o];typeof i=="function"?i.call(console,r,...n):console.log(r,...n);},"filter");t[ct]=true,three.setConsoleFunction(t);}s(mt,"silenceUpstreamThreeWarnings");var Ic=j0,ut=[],kc=U5.forwardRef(s(function(t,o){mt();let{config:r,assetsBaseUrl:n=Ic,assetManifest:i,onError:a,initialCamera:l,lock:c,debug:m,className:u,style:p}=t,d=U5.useRef(null),f=U5.useRef(null),M=U5.useRef(null),g=U5.useRef(null),h=A2(()=>new Ye),y=A2(()=>new Je),v=A2(()=>new $e),P=A2(()=>new qe),A=A2(()=>new i0),b=w9(r,a),T=t.display?.coordinateSystem,x=U5.useMemo(()=>b&&T==="beckhoff-xts"?Y0(b):b,[b,T]),C=U5.useMemo(()=>T==="beckhoff-xts"?K0(t.trackTransformOverrides):t.trackTransformOverrides,[t.trackTransformOverrides,T]),S=U5.useMemo(()=>M5(t.moduleHighlights,t.highlightInfeedModules,t.infeedHighlightColor),[t.moduleHighlights,t.highlightInfeedModules,t.infeedHighlightColor]),R=U5.useRef(ut),k=U5.useRef(t.measurement);k.current=t.measurement;let I=U5.useMemo(()=>a7({store:A.current,getTrackIndex:s(()=>R.current,"getTrackIndex"),getFormat:s(()=>a0(se(k.current?.style)),"getFormat")}),[A]),[F,_]=U5.useState("none"),D=t.measurement?.tool;U5.useEffect(()=>{A.current.setTool(D??"none");},[D,A]);let L=t.measurement?.measurements;U5.useEffect(()=>{L&&A.current.setMeasurements(L);},[L,A]);let O=t.measurement?.annotations;U5.useEffect(()=>{O&&A.current.setAnnotations(O);},[O,A]),U5.useEffect(()=>{let s1=A.current;return s1.subscribe(W1=>{let D1=k.current;switch(W1.type){case "tool":_(s1.getTool());break;case "measurements":D1?.onMeasurementsChange?.(I.list(),I.results());break;case "measurement-created":{let F1=I.result(W1.measurement.id);F1&&D1?.onMeasurementCreate?.(W1.measurement,F1);break}case "annotations":D1?.onAnnotationsChange?.(I.listAnnotations());break;case "annotation-created":D1?.onAnnotationCreate?.(W1.annotation);break;case "draft":D1?.onDraftChange?.(s1.getDraft());break}})},[I,A]);let{effectiveSelection:B,selectionMode:N,handleModuleClick:E,handleMoverClick:w,handleCustomAssetClick:G,handlePointerMissed:W}=G9({...t.selection!==void 0?{selection:t.selection}:{},selectionMode:t.selectionMode,selectionScope:t.selectionScope,selectionLocked:c?.selection===true||F!=="none",...t.onSelectionChange?{onSelectionChange:t.onSelectionChange}:{},...t.onModuleClick?{onModuleClick:t.onModuleClick}:{},...t.onMoverClick?{onMoverClick:t.onMoverClick}:{},...t.onCustomAssetClick?{onCustomAssetClick:t.onCustomAssetClick}:{}}),X=Q9({options:t.transformGizmo,config:x,selection:B,trackTransformOverrides:C,beckhoffConvention:T==="beckhoff-xts",suppressed:F!=="none"}),H=X.trackTransformOverrides,V=U5.useMemo(()=>x?_3(x,H):ut,[x,H]);R.current=V,H5({ref:o,config:r,normalized:x,cameraRef:d,orbitRef:f,glRef:M,sceneRef:g,moverStoreRef:h,moduleStatusStoreRef:y,moverToolStateStoreRef:v,captureRegistryRef:P,measurementApi:I,...H?{trackTransformOverrides:H}:{}});let w1=l?.positionMm??[1500,-1500,1500],Y=l?.targetMm??[0,0,0],e1=U5.useMemo(()=>F9(t.display),[t.display]),T1=e1.lighting.shadows,K2=y5(e1.lighting.toneMapping),Y2=e1.lighting.toneMappingExposure,Oe=t.performance?.demandRendering!==false,pt=t.performance?.maxDpr??2,dt=T1&&t.performance?.shadowOnDemand!==false;U5.useEffect(()=>{let s1=M.current;s1&&(s1.toneMapping=K2,s1.toneMappingExposure=Y2);},[K2,Y2]);let Re=t.performance?.ktx2TranscoderUrl;return U5.useEffect(()=>{b7(Re??null);},[Re]),jsxRuntime.jsx("div",{className:u,style:{width:"100%",height:"100%",...p},children:jsxRuntime.jsx(fiber.Canvas,{camera:{fov:45,near:1,far:5e4,position:w1,up:[0,0,1]},gl:{alpha:true,antialias:true,premultipliedAlpha:true,powerPreference:"high-performance"},dpr:[1,pt],frameloop:Oe?"demand":"always",shadows:T1?"soft":false,onPointerMissed:W,onCreated:({camera:s1,controls:W1,scene:D1,gl:F1})=>{d.current=s1,W1&&(f.current=W1),M.current=F1,g.current=D1,s1.lookAt(...Y),F1.toneMapping=K2,F1.toneMappingExposure=Y2,D1.background=null,F1.setClearAlpha(0),g6().configure({gl:F1,...Re?{transcoderUrl:Re}:{}});},children:jsxRuntime.jsx(o1.Provider,{value:h.current,children:jsxRuntime.jsx(O3.Provider,{value:P.current,children:jsxRuntime.jsx(Qe.Provider,{value:y.current,children:jsxRuntime.jsx(e0.Provider,{value:v.current,children:jsxRuntime.jsx(t0.Provider,{value:{useBuiltins:t.useBuiltinSidecars!==false},children:jsxRuntime.jsx(E3.Provider,{value:A.current,children:jsxRuntime.jsxs(U5.Suspense,{fallback:null,children:[x?jsxRuntime.jsx(nt,{config:x,assetsBaseUrl:n,assetManifest:i,showGrid:m?.showGrid!==false,shadowOnDemand:dt,demandRendering:Oe,overlayFps:m?.overlayFps===true,viewCube:t.viewCube,display:e1,selection:B,selectionColors:t.selectionColors,moduleHighlights:S,feedSegmentHighlights:t.feedSegmentHighlights,onModuleClick:E,onMoverClick:w,onCustomAssetClick:N==="Off"?void 0:G,transformGizmo:X,performance:t.performance,sidecarOverrides:t.sidecarOverrides,trackTransformOverrides:H,hepcoGfxProfile:t.hepcoGfxProfile,statorHeatmap:t.statorHeatmap,onOrbitReady:s1=>{f.current=s1;},onCameraReady:s1=>{d.current=s1;},measurement:t.measurement,trackIndex:V,projection:t.projection??"perspective",lock:c,keyboardNavigation:t.keyboardNavigation}):null,x&&t.collision?.movers?.enabled&&jsxRuntime.jsx(st,{config:x,warningGapMm:t.collision.movers.warningGapMm,intervalMs:t.collision.movers.intervalMs,forceClosedLoop:t.collision.movers.forceClosedLoop,onCollisionsChange:t.collision.movers.onCollisionsChange??(()=>{})}),x&&t.collision?.modules?.enabled&&jsxRuntime.jsx(lt,{config:x,orientation:x.orientation,trackTransformOverrides:H,warningGapMm:t.collision.modules.warningGapMm,onCollisionsChange:t.collision.modules.onCollisionsChange??(()=>{})})]})})})})})})})})})},"XtsViewer3D"));var h2=s((e,t,o,r)=>({plateType:e,poleCount:t,lengthMm:o,hasEncoderFlag:r}),"PLATE"),x9=Object.freeze({AT9001_0450:h2("AT9001_0450",4,46,true),AT9001_0550:h2("AT9001_0550",5,49.9,true),AT9001_0775:h2("AT9001_0775",7,74,true),AT9001_0AA0:h2("AT9001_0AA0",10,99.9,true),ATH9001_0550:h2("ATH9001_0550",5,57,false),ATH9001_0550_0001:h2("ATH9001_0550_0001",5,57,false),ATH9001_0AA0:h2("ATH9001_0AA0",10,107,false)});function Dc(e){return x9[e]}s(Dc,"getMagnetPlateEntry");function Fc(e){return typeof e=="string"&&e in x9}s(Fc,"isKnownMagnetPlateType");
|
|
7
|
-
exports.AssetLoader=
|
|
4
|
+
\u2022 \u2026and ${o} more`:""));}s(It,"logNormalizationWarnings");function B9(e,t){let o=W5.useRef(null),r=W5.useRef(null),n=W5.useMemo(()=>{try{return o.current=null,Y0(e)}catch(i){return o.current=i instanceof z?{code:i.code,message:i.message,details:i.details}:{code:"invalid-config",message:i?.message??String(i),details:i},null}},[e]);return W5.useEffect(()=>{o.current&&t&&t(o.current);},[n,t]),W5.useEffect(()=>{let i=n?.__warnings??[],a=Rt(i);a!==r.current&&(r.current=a,It(i));},[n]),n}s(B9,"useNormalizedConfig");var kt="#FF2030";function L9(e){return {sizeMm:e?.sizeMm??10,color:e?.color??kt}}s(L9,"resolveMarker");function G9(e){return {...e,coordinateSystem:e?.coordinateSystem??"viewer",showStations:e?.showStations!==false,showAreas:e?.showAreas!==false,showDimensions:e?.showDimensions===true,showDriveErrors:e?.showDriveErrors!==false,showDriveWarnings:e?.showDriveWarnings!==false,moduleTypePlates:e?.moduleTypePlates!==false,showMoverIds:e?.showMoverIds===true,showStopPositionMovers:e?.showStopPositionMovers===true,showStatorHeatmap:e?.showStatorHeatmap===true,invertDimensions:e?.invertDimensions??false,showModuleCornerMarkers:e?.showModuleCornerMarkers??false,showMoverAnchorMarker:e?.showMoverAnchorMarker===true,moduleCornerMarkerOptions:L9(e?.moduleCornerMarkerOptions),moverAnchorMarkerOptions:L9(e?.moverAnchorMarkerOptions),lighting:{shadows:e?.lighting?.shadows===true,environment:e?.lighting?.environment!==false,environmentIntensity:e?.lighting?.environmentIntensity??.4,toneMapping:e?.lighting?.toneMapping??"aces",toneMappingExposure:e?.lighting?.toneMappingExposure??1},postProcessing:{ssao:e?.postProcessing?.ssao===true,ssaoIntensity:e?.postProcessing?.ssaoIntensity??1,ssaoRadius:e?.postProcessing?.ssaoRadius??20,bloom:e?.postProcessing?.bloom===true,bloomIntensity:e?.postProcessing?.bloomIntensity??.4,bloomThreshold:e?.postProcessing?.bloomThreshold??.85,bloomRadius:e?.postProcessing?.bloomRadius??.4}}}s(G9,"resolveDisplayOptions");var H9=s(([e,t,o])=>[e,-t,o],"negateY"),j9=s(([e,t,o])=>[e,t,-o],"negateZEuler");function wt(e){if(!e)return e;let t={...e};return e.offsetMm&&(t.offsetMm=H9(e.offsetMm)),e.rotationDegEuler&&(t.rotationDegEuler=j9(e.rotationDegEuler)),t}s(wt,"flipPartTransformation");function N9(e){return e&&_e(e)}s(N9,"flipTrackTransform");function _e(e){let t={...e};return e.positionMm&&(t.positionMm=H9(e.positionMm)),e.rotationDegEuler&&(t.rotationDegEuler=j9(e.rotationDegEuler)),t}s(_e,"applyBeckhoffXtsConventionToTrackTransform");function q0(e){if(!e)return e;let t={};for(let[o,r]of Object.entries(e)){let n=N9(r);n&&(t[Number(o)]=n);}return t}s(q0,"applyBeckhoffXtsConventionToOverrides");function J0(e){return {...e,processingUnits:e.processingUnits.map(t=>({...t,trackTransform:N9(t.trackTransform),parts:t.parts.map(o=>({...o,partTransformation:wt(o.partTransformation)}))}))}}s(J0,"applyBeckhoffXtsConvention");var q2=Object.freeze({modules:[],movers:[]}),Fe=s(e=>`${e.processingUnitObjectId}/${e.partObjectId}/${e.moduleIndex}`,"moduleKey"),Be=s(e=>`${e.processingUnitObjectId}/${e.moverIndex}`,"moverKey");function Dt(e,t){return e.modules.some(o=>Fe(o)===Fe(t))}s(Dt,"listsModule");function _t(e,t){return e.movers.some(o=>Be(o)===Be(t))}s(_t,"listsMover");function Le(e,t){return (e.tracks??[]).some(o=>o.processingUnitObjectId===t.processingUnitObjectId)}s(Le,"isTrackSelected");function Q0(e,t){return Le(e,t)?true:e.modules.some(o=>o.processingUnitObjectId===t.processingUnitObjectId&&o.partObjectId===t.partObjectId&&o.moduleIndex===t.moduleIndex)}s(Q0,"isModuleSelected");function Ge(e,t){return Le(e,t)?true:e.movers.some(o=>o.processingUnitObjectId===t.processingUnitObjectId&&o.moverIndex===t.moverIndex)}s(Ge,"isMoverSelected");function He(e,t){return (e.customAssets??[]).some(o=>o.assetId===t.assetId)}s(He,"isCustomAssetSelected");function Ft(){return q2}s(Ft,"deselectAll");function $0(e,t,o,r={}){if(o==="Off")return e;if(o==="Single")return {modules:[t],movers:[]};let n=r.ctrl||r.meta;return r.shift?jt(e,t):n?Bt(e,t):{modules:[t],movers:[]}}s($0,"applyModuleClick");function e3(e,t,o,r={}){return o==="Off"?e:o==="Single"?{modules:[],movers:[t]}:r.ctrl||r.meta?Lt(e,t):{modules:[],movers:[t]}}s(e3,"applyMoverClick");function t3(e,t,o,r={}){return o==="Off"?e:o==="Single"?{modules:[],movers:[],tracks:[t]}:r.ctrl||r.meta?Gt(e,t):{modules:[],movers:[],tracks:[t]}}s(t3,"applyTrackClick");function o3(e,t,o,r={}){return o==="Off"?e:o==="Single"?{modules:[],movers:[],customAssets:[t]}:r.ctrl||r.meta?Ht(e,t):{modules:[],movers:[],customAssets:[t]}}s(o3,"applyCustomAssetClick");function r3(e,t){return t==="Off"?e:q2}s(r3,"applyEmptyClick");function Bt(e,t){return Dt(e,t)?{...e,modules:e.modules.filter(o=>Fe(o)!==Fe(t))}:{...e,modules:[...e.modules,t]}}s(Bt,"toggleModuleInSelection");function Lt(e,t){return _t(e,t)?{...e,movers:e.movers.filter(o=>Be(o)!==Be(t))}:{...e,movers:[...e.movers,t]}}s(Lt,"toggleMoverInSelection");function Gt(e,t){let o=e.tracks??[];return Le(e,t)?{...e,tracks:o.filter(r=>r.processingUnitObjectId!==t.processingUnitObjectId)}:{...e,tracks:[...o,t]}}s(Gt,"toggleTrackInSelection");function Ht(e,t){let o=e.customAssets??[];return He(e,t)?{...e,customAssets:o.filter(r=>r.assetId!==t.assetId)}:{...e,customAssets:[...o,t]}}s(Ht,"toggleCustomAssetInSelection");function jt(e,t){if(e.modules.length===0)return {modules:[t],movers:[]};let o=e.modules[e.modules.length-1];if(o.processingUnitObjectId!==t.processingUnitObjectId||o.partObjectId!==t.partObjectId)return {modules:[t],movers:[]};let r=Math.min(o.moduleIndex,t.moduleIndex),n=Math.max(o.moduleIndex,t.moduleIndex),i=[];for(let l=r;l<=n;l++)i.push({processingUnitObjectId:t.processingUnitObjectId,partObjectId:t.partObjectId,moduleIndex:l});return {modules:[...e.modules.filter(l=>l.processingUnitObjectId!==t.processingUnitObjectId||l.partObjectId!==t.partObjectId),...i],movers:[]}}s(jt,"rangeSelectModules");function U9({selection:e,selectionMode:t,selectionScope:o="module",selectionLocked:r,onSelectionChange:n,onModuleClick:i,onMoverClick:a,onCustomAssetClick:l}){let[c,m]=W5.useState(q2),u=t??"Off",p=e!==void 0,d=p?e:c,f=W5.useCallback(v=>{p||m(v),n?.(v);},[p,n]),M=s(v=>({ctrl:v.nativeEvent?.ctrlKey,shift:v.nativeEvent?.shiftKey,meta:v.nativeEvent?.metaKey}),"modifiersOf"),g=W5.useCallback((v,b)=>t3(d,{processingUnitObjectId:v},u,M(b)),[d,u]),h=W5.useCallback((v,b)=>{r||(f(o==="track"?g(v.processingUnitObjectId,b):$0(d,v,u,M(b))),i?.(v));},[g,d,u,o,r,i,f]),y=W5.useCallback((v,b)=>{r||(f(o==="track"?g(v.processingUnitObjectId,b):e3(d,v,u,M(b))),a?.(v));},[g,d,u,o,r,a,f]),A=W5.useCallback((v,b)=>{r||(f(o3(d,v,u,M(b))),l?.(v));},[d,u,r,l,f]),P=W5.useCallback(()=>{if(r)return;let v=r3(d,u);v!==d&&f(v);},[d,u,r,f]);return {effectiveSelection:d,selectionMode:u,selectionScope:o,handleModuleClick:h,handleMoverClick:y,handleCustomAssetClick:A,handlePointerMissed:P}}s(U9,"useSelectionState");var S1=["#ff3653","#8adb00","#2c8fff"],J2=["X","Y","Z"],z9="#101418";var i3=[.82,.036,.036];function X9(e,t){let[o,r,n]=e,[i,a,l]=t;return [{axis:"x",color:o,label:i},{axis:"y",color:r,label:a},{axis:"z",color:n,label:l}]}s(X9,"axisTriple");var Q2={x:[1,0,0],y:[0,1,0],z:[0,0,1]},Ut={x:[0,0,0],y:[0,0,Math.PI/2],z:[0,-Math.PI/2,0]};function n3(e){return e===0?0:-e}s(n3,"flip");function V9(e=S1,t=J2){let o=[];for(let{axis:r,color:n,label:i}of X9(e,t)){let[a,l,c]=Q2[r];o.push({id:`${r}+`,axis:r,label:i,color:n,direction:[a,l,c],positive:true}),o.push({id:`${r}-`,axis:r,label:i,color:n,direction:[n3(a),n3(l),n3(c)],positive:false});}return o}s(V9,"buildAxisHeads");function je(e=S1){return X9(e,J2).map(({axis:t,color:o})=>({axis:t,color:o,rotation:[...Ut[t]]}))}s(je,"buildAxisBars");function W9(e,t){return (e.positive?.26:.21)*2*(t?1.18:1)}s(W9,"headScale");function Ne(e,t){let[,o]=/^#([0-9a-f]{6})$/i.exec(e.trim())??[];if(o===void 0)return e;let r=parseInt(o,16),n=Math.min(Math.max(t,0),1),i=s(m=>Math.round(m+(255-m)*n),"mix"),a=i(r>>16&255),l=i(r>>8&255),c=i(r&255);return `#${(a<<16|l<<8|c).toString(16).padStart(6,"0")}`}s(Ne,"lighten");function Z9(e,{size:t,color:o,filled:r,label:n,labelColor:i}){let a=t/2,l=Math.max(2,t*.08),c=a-l;e.clearRect(0,0,t,t),r?(e.fillStyle=o,e.beginPath(),e.arc(a,a,c,0,Math.PI*2),e.closePath(),e.fill()):(e.strokeStyle=o,e.lineWidth=l,e.beginPath(),e.arc(a,a,c-l/2,0,Math.PI*2),e.closePath(),e.stroke()),n&&(e.font=`bold ${Math.round(t*.44)}px Inter, "Segoe UI", Arial, sans-serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=i,e.fillText(n,a,a+t*.02));}s(Z9,"drawAxisHead");var j=Math.PI/180,zt=[0,0,0],Xt=[0,0,0];function C2(e,t=Xt){let o=e?.positionMm??t,r=e?.rotationDegEuler??zt;return {positionMm:o,rotationRad:[r[0]*j,r[1]*j,r[2]*j],scale:e?.scaleUniform??1,visible:e?.visible!==false}}s(C2,"resolvePose");function a3(e){return new three.Matrix4().compose(new three.Vector3(e.positionMm[0],e.positionMm[1],e.positionMm[2]),new three.Quaternion().setFromEuler(new three.Euler(e.rotationRad[0],e.rotationRad[1],e.rotationRad[2],"XYZ")),new three.Vector3(e.scale,e.scale,e.scale))}s(a3,"poseMatrix");var x2=200;function Zt(e){return a3(C2(e))}s(Zt,"orientationMatrix");function Kt(e){return a3(C2(e,[0,0,x2]))}s(Kt,"trackTransformMatrix");function Yt(e){return a3(C2(e?{positionMm:e.offsetMm,rotationDegEuler:e.rotationDegEuler,visible:e.visible}:null))}s(Yt,"partTransformationMatrix");function A1(e,t){return t?.[e.objectId]??e.trackTransform??null}s(A1,"effectiveTrackTransform");function qt(e,t){return new three.Matrix4().copy(Zt(e)).multiply(Kt(t))}s(qt,"composeWorldMatrix");function F1(e,t,o){return new three.Matrix4().copy(qt(e,t)).multiply(Yt(o))}s(F1,"composePartWorldMatrix");function q9(e,t){if(!t?.enabled)return null;let o=t.target??"selection";if(o==="none")return null;if(o!=="selection")return o;if(!e)return null;let r=e.customAssets?.at(-1);if(r)return {kind:"customAsset",assetId:r.assetId};let n=e.tracks?.at(-1);return n?{kind:"track",processingUnitObjectId:n.processingUnitObjectId}:null}s(q9,"resolveTransformTarget");function l3(e){return e.kind==="track"?`track:${e.processingUnitObjectId}`:`customAsset:${e.assetId}`}s(l3,"transformTargetKey");function Jt(e){return !e||e.binding.type!=="static"?null:e.binding}s(Jt,"staticBindingOf");function c3(e,t,o){if(t.kind==="track"){let n=e.processingUnits.find(a=>a.objectId===t.processingUnitObjectId);if(!n)return null;let i=o?.[n.objectId]??n.trackTransform??null;return {positionMm:i?.positionMm??[0,0,x2],rotationDegEuler:i?.rotationDegEuler??[0,0,0],scaleUniform:i?.scaleUniform??1}}let r=Jt(e.customAssets?.find(n=>n.id===t.assetId));return r?{positionMm:r.positionMm??[0,0,0],rotationDegEuler:r.rotationDegEuler??[0,0,0],scaleUniform:r.scale??1}:null}s(c3,"sourcePoseOfTarget");var Y9=s((e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],"vecEq");function Qt(e,t){return Y9(e.positionMm,t.positionMm)&&Y9(e.rotationDegEuler,t.rotationDegEuler)&&e.scaleUniform===t.scaleUniform}s(Qt,"posesEqual");function J9(e,t){let o={},r=false;for(let[n,i]of Object.entries(e)){let a=t(i.target);a&&Qt(a,i.base)?o[n]=i:r=true;}return r?o:e}s(J9,"pruneTransformDrafts");function Ue(e,t){let o={positionMm:e.positionMm,rotationDegEuler:e.rotationDegEuler,scaleUniform:e.scaleUniform};return t?.visible!==void 0&&(o.visible=t.visible),o}s(Ue,"poseToTrackTransform");function Q9(e,t,o){let r=Object.values(t).filter(i=>i.target.kind==="track");if(r.length===0)return e;let n={...e};for(let i of r){if(i.target.kind!=="track")continue;let a=i.target.processingUnitObjectId,l=e?.[a]??o.processingUnits.find(c=>c.objectId===a)?.trackTransform??null;n[a]=Ue(i.pose,l);}return n}s(Q9,"mergeDraftTrackOverrides");function $9(e){let t={};for(let o of Object.values(e))o.target.kind==="customAsset"&&(t[o.target.assetId]=o.pose);return t}s($9,"draftAssetPoses");function e5(e,t,o){if(!o||t.kind!=="track")return e;let r=_e(Ue(e));return {positionMm:r.positionMm??e.positionMm,rotationDegEuler:r.rotationDegEuler??e.rotationDegEuler,scaleUniform:e.scaleUniform}}s(e5,"toHostPose");function t5(e,t,o,r){let n=o[l3(t)];return n?n.pose:c3(e,t,r)}s(t5,"effectivePoseOfTarget");var to=90,oo=.05,ro=["translate","rotate","scale"];function o5({options:e,config:t,selection:o,trackTransformOverrides:r,beckhoffConvention:n,suppressed:i=false}){let[a,l]=W5.useState({}),c=e?.handles,m=W5.useMemo(()=>c??ro,[c]),u=W5.useMemo(()=>i||!t?null:q9(o,e),[t,e,o,i]),p=W5.useCallback(b=>t?c3(t,b,r):null,[t,r]),d=W5.useMemo(()=>J9(a,p),[a,p]),f=W5.useMemo(()=>t&&u?t5(t,u,d,r):null,[t,u,d,r]),M=W5.useRef(null),g=W5.useCallback((b,T)=>{if(!t||!u)return null;let x=e5(b,u,n),C={target:u,mode:T,pose:x};if(u.kind==="track"){let S=t.processingUnits.find(R=>R.objectId===u.processingUnitObjectId);C.trackTransform=Ue(x,r?.[u.processingUnitObjectId]??S?.trackTransform);}return C},[n,t,u,r]),h=W5.useCallback(()=>{u&&(M.current=p(u),e?.onTransformStart?.(u));},[e,p,u]),y=W5.useCallback((b,T)=>{if(!u)return;let x=M.current;x&&l(S=>({...S,[l3(u)]:{target:u,base:x,pose:b}}));let C=g(b,T);C&&e?.onTransformChange?.(C);},[g,e,u]),A=W5.useCallback((b,T)=>{let x=g(b,T);x&&e?.onTransformEnd?.(x);},[g,e]),P=W5.useMemo(()=>t?Q9(r,d,t):r,[t,d,r]),v=W5.useMemo(()=>$9(d),[d]);return {target:u,pose:f,handles:m,sizePx:e?.sizePx??to,minScale:e?.minScale??oo,axisColors:e?.axisColors??S1,translateSnapMm:e?.translateSnapMm,rotateSnapDeg:e?.rotateSnapDeg,scaleSnap:e?.scaleSnap,trackTransformOverrides:P,assetPoses:v,onDragStart:h,onDrag:y,onDragEnd:A}}s(o5,"useTransformGizmo");function v2(e){let t=W5.useRef(null);return t.current??=e(),t}s(v2,"useLazyRef");var r5={lengthMm:500,samplingMm:.1,points:[[0,0],[.1,0],[.2,0],[.3,0],[.4,0],[.5,0],[.6,0],[.7,0],[.8,0],[.9,0],[1,0],[1.1,0],[1.2,0],[1.3,0],[1.4,0],[1.5,0],[1.6,1e-7],[1.7,1e-7],[1.8,1e-7],[1.9,1e-7],[2,2e-7],[2.1,2e-7],[2.2,3e-7],[2.3,4e-7],[2.4,5e-7],[2.5,6e-7],[2.6,7e-7],[2.7,9e-7],[2.8,1e-6],[2.9,12e-7],[3,15e-7],[3.1,17e-7],[3.2,2e-6],[3.3,24e-7],[3.4,28e-7],[3.5,32e-7],[3.6,37e-7],[3.7,42e-7],[3.8,48e-7],[3.9,55e-7],[4,62e-7],[4.1,7e-6],[4.2,79e-7],[4.3,89e-7],[4.4,1e-5],[4.5,111e-7],[4.6,124e-7],[4.7,138e-7],[4.8,153e-7],[4.9,169e-7],[5,187e-7],[5.1,207e-7],[5.2,227e-7],[5.3,25e-6],[5.4,274e-7],[5.5,3e-5],[5.6,328e-7],[5.7,358e-7],[5.8,39e-6],[5.9,424e-7],[6,461e-7],[6.099999999,5e-5],[6.199999999,541e-7],[6.299999999,586e-7],[6.399999999,633e-7],[6.499999999,683e-7],[6.599999999,736e-7],[6.699999999,793e-7],[6.799999999,853e-7],[6.899999998,916e-7],[6.999999998,983e-7],[7.099999998,1054e-7],[7.199999998,1129e-7],[7.299999997,1209e-7],[7.399999997,1292e-7],[7.499999997,138e-6],[7.599999996,1473e-7],[7.699999996,157e-6],[7.799999995,1673e-7],[7.899999995,1781e-7],[7.999999994,1894e-7],[8.099999993,2013e-7],[8.199999992,2138e-7],[8.299999992,2268e-7],[8.399999991,2405e-7],[8.49999999,2549e-7],[8.599999988,2699e-7],[8.699999987,2856e-7],[8.799999986,302e-6],[8.899999984,3192e-7],[8.999999983,3371e-7],[9.099999981,3558e-7],[9.199999979,3753e-7],[9.299999977,3957e-7],[9.399999975,4169e-7],[9.499999972,439e-6],[9.59999997,462e-6],[9.699999967,486e-6],[9.799999964,5109e-7],[9.89999996,5368e-7],[9.999999957,5638e-7],[10.09999995,5918e-7],[10.19999995,6209e-7],[10.29999994,6511e-7],[10.39999994,6825e-7],[10.49999993,7151e-7],[10.59999993,7488e-7],[10.69999992,7838e-7],[10.79999992,8201e-7],[10.89999991,8577e-7],[10.9999999,8967e-7],[11.09999989,937e-6],[11.19999988,9787e-7],[11.29999987,.0010219],[11.39999986,.0010666],[11.49999985,.0011128],[11.59999984,.0011606],[11.69999983,.0012099],[11.79999982,.0012609],[11.8999998,.0013136],[11.99999979,.001368],[12.09999977,.0014242],[12.19999976,.0014821],[12.29999974,.0015419],[12.39999972,.0016036],[12.4999997,.0016672],[12.59999968,.0017327],[12.69999965,.0018003],[12.79999963,.0018699],[12.8999996,.0019416],[12.99999958,.0020155],[13.09999955,.0020916],[13.19999952,.0021699],[13.29999949,.0022504],[13.39999945,.0023333],[13.49999941,.0024186],[13.59999938,.0025063],[13.69999934,.0025965],[13.79999929,.0026892],[13.89999925,.0027845],[13.9999992,.0028825],[14.09999915,.0029831],[14.1999991,.0030864],[14.29999904,.0031925],[14.39999898,.0033015],[14.49999892,.0034133],[14.59999885,.0035281],[14.69999878,.0036459],[14.79999871,.0037668],[14.89999863,.0038908],[14.99999855,.0040179],[15.09999847,.0041483],[15.19999838,.004282],[15.29999828,.004419],[15.39999818,.0045595],[15.49999808,.0047034],[15.59999797,.0048508],[15.69999786,.0050018],[15.79999774,.0051565],[15.89999761,.0053148],[15.99999748,.005477],[16.09999734,.005643],[16.1999972,.0058129],[16.29999705,.0059868],[16.39999689,.0061647],[16.49999672,.0063467],[16.59999655,.0065329],[16.69999637,.0067233],[16.79999618,.0069181],[16.89999598,.0071172],[16.99999577,.0073207],[17.09999556,.0075288],[17.19999533,.0077414],[17.2999951,.0079587],[17.39999485,.0081807],[17.49999459,.0084076],[17.59999432,.0086393],[17.69999404,.0088759],[17.79999375,.0091176],[17.89999345,.0093643],[17.99999313,.0096163],[18.0999928,.0098735],[18.19999245,.010136],[18.2999921,.0104039],[18.39999172,.0106772],[18.49999133,.0109562],[18.59999093,.0112408],[18.69999051,.0115311],[18.79999007,.0118272],[18.89998961,.0121291],[18.99998914,.0124371],[19.09998865,.012751],[19.19998813,.0130711],[19.2999876,.0133974],[19.39998705,.01373],[19.49998647,.014069],[19.59998588,.0144145],[19.69998526,.0147665],[19.79998461,.0151251],[19.89998395,.0154904],[19.99998325,.0158626],[20.09998253,.0162417],[20.19998179,.0166277],[20.29998102,.0170208],[20.39998022,.0174211],[20.49997939,.0178287],[20.59997852,.0182436],[20.69997763,.0186659],[20.79997671,.0190958],[20.89997575,.0195333],[20.99997476,.0199786],[21.09997373,.0204316],[21.19997267,.0208926],[21.29997157,.0213616],[21.39997043,.0218387],[21.49996926,.0223239],[21.59996804,.0228175],[21.69996678,.0233195],[21.79996547,.02383],[21.89996413,.024349],[21.99996274,.0248768],[22.0999613,.0254134],[22.19995981,.0259588],[22.29995827,.0265133],[22.39995668,.0270768],[22.49995504,.0276496],[22.59995335,.0282317],[22.6999516,.0288231],[22.79994979,.0294241],[22.89994793,.0300347],[22.999946,.0306551],[23.09994402,.0312852],[23.19994197,.0319253],[23.29993986,.0325755],[23.39993768,.0332358],[23.49993543,.0339064],[23.59993311,.0345873],[23.69993072,.0352788],[23.79992825,.0359808],[23.89992571,.0366935],[23.9999231,.0374171],[24.0999204,.0381515],[24.19991762,.038897],[24.29991476,.0396537],[24.39991181,.0404216],[24.49990877,.0412009],[24.59990565,.0419918],[24.69990243,.0427942],[24.79989911,.0436083],[24.8998957,.0444343],[24.99989219,.0452723],[25.09988858,.0461223],[25.19988486,.0469845],[25.29988104,.0478591],[25.3998771,.048746],[25.49987306,.0496456],[25.59986889,.0505578],[25.69986462,.0514828],[25.79986022,.0524207],[25.8998557,.0533716],[25.99985105,.0543358],[26.09984627,.0553132],[26.19984136,.056304],[26.29983632,.0573083],[26.39983114,.0583263],[26.49982581,.0593581],[26.59982035,.0604038],[26.69981473,.0614635],[26.79980897,.0625373],[26.89980304,.0636255],[26.99979697,.0647281],[27.09979073,.0658452],[27.19978432,.066977],[27.29977775,.0681235],[27.399771,.069285],[27.49976408,.0704616],[27.59975698,.0716534],[27.69974969,.0728604],[27.79974222,.074083],[27.89973455,.0753211],[27.99972669,.0765749],[28.09971863,.0778446],[28.19971037,.0791302],[28.29970189,.080432],[28.39969321,.08175],[28.4996843,.0830844],[28.59967518,.0844353],[28.69966583,.0858029],[28.79965624,.0871873],[28.89964643,.0885886],[28.99963637,.0900069],[29.09962606,.0914425],[29.19961551,.0928954],[29.29960469,.0943658],[29.39959362,.0958538],[29.49958229,.0973596],[29.59957068,.0988833],[29.69955879,.100425],[29.79954663,.1019848],[29.89953417,.103563],[29.99952142,.1051597],[30.09950838,.106775],[30.19949503,.108409],[30.29948136,.1100619],[30.39946739,.1117338],[30.49945309,.1134249],[30.59943846,.1151353],[30.69942349,.1168652],[30.79940819,.1186147],[30.89939254,.1203839],[30.99937653,.1221731],[31.09936016,.1239823],[31.19934343,.1258116],[31.29932632,.1276613],[31.39930883,.1295315],[31.49929095,.1314224],[31.59927268,.133334],[31.699254,.1352665],[31.79923492,.1372201],[31.89921542,.139195],[31.99919549,.1411912],[32.09917513,.1432089],[32.19915433,.1452483],[32.29913309,.1473096],[32.39911138,.1493928],[32.49908922,.1514981],[32.59906658,.1536257],[32.69904347,.1557758],[32.79901986,.1579484],[32.89899576,.1601438],[32.99897115,.162362],[33.09894603,.1646033],[33.19892039,.1668678],[33.29889422,.1691557],[33.3988675,.171467],[33.49884024,.173802],[33.59881241,.1761608],[33.69878402,.1785436],[33.79875505,.1809505],[33.89872549,.1833816],[33.99869534,.1858372],[34.09866458,.1883174],[34.1986332,.1908224],[34.29860119,.1933522],[34.39856855,.1959071],[34.49853526,.1984872],[34.59850131,.2010927],[34.69846669,.2037237],[34.79843139,.2063804],[34.89839541,.209063],[34.99835872,.2117716],[35.09832132,.2145063],[35.19828319,.2172674],[35.29824433,.2200549],[35.39820472,.2228691],[35.49816436,.2257101],[35.59812322,.2285781],[35.69808131,.2314732],[35.7980386,.2343955],[35.89799508,.2373454],[35.99795074,.2403228],[36.09790558,.243328],[36.19785957,.2463611],[36.2978127,.2494223],[36.39776496,.2525118],[36.49771635,.2556297],[36.59766683,.2587762],[36.69761641,.2619514],[36.79756506,.2651555],[36.89751278,.2683887],[36.99745955,.2716512],[37.09740535,.274943],[37.19735018,.2782644],[37.29729402,.2816155],[37.39723684,.2849964],[37.49717865,.2884075],[37.59711942,.2918487],[37.69705914,.2953203],[37.7969978,.2988225],[37.89693537,.3023554],[37.99687185,.3059191],[38.09680722,.3095139],[38.19674145,.3131399],[38.29667455,.3167973],[38.39660649,.3204862],[38.49653725,.3242068],[38.59646682,.3279592],[38.69639518,.3317437],[38.79632232,.3355604],[38.89624822,.3394094],[38.99617285,.343291],[39.09609622,.3472053],[39.19601829,.3511524],[39.29593905,.3551325],[39.39585848,.3591459],[39.49577657,.3631926],[39.59569329,.3672728],[39.69560863,.3713868],[39.79552257,.3755346],[39.89543509,.3797164],[39.99534618,.3839324],[40.09525581,.3881828],[40.19516397,.3924677],[40.29507063,.3967873],[40.39497577,.4011418],[40.49487939,.4055313],[40.59478145,.409956],[40.69468194,.414416],[40.79458084,.4189116],[40.89447812,.4234429],[40.99437377,.4280101],[41.09426776,.4326133],[41.19416008,.4372527],[41.29405071,.4419285],[41.39393962,.4466408],[41.49382679,.4513899],[41.5937122,.4561758],[41.69359582,.4609987],[41.79347765,.4658589],[41.89335765,.4707564],[41.9932358,.4756915],[42.09311208,.4806643],[42.19298646,.485675],[42.29285893,.4907237],[42.39272946,.4958106],[42.49259803,.5009359],[42.59246461,.5060998],[42.69232919,.5113024],[42.79219173,.5165439],[42.89205221,.5218244],[42.99191061,.5271442],[43.0917669,.5325033],[43.19162106,.537902],[43.29147307,.5433404],[43.3913229,.5488187],[43.49117052,.5543371],[43.59101591,.5598957],[43.69085904,.5654947],[43.79069989,.5711342],[43.89053844,.5768145],[43.99037464,.5825357],[44.09020849,.5882979],[44.19003995,.5941013],[44.28986899,.5999461],[44.38969559,.6058325],[44.48951972,.6117606],[44.58934136,.6177306],[44.68916047,.6237427],[44.78897703,.629797],[44.88879101,.6358936],[44.98860238,.6420328],[45.08841112,.6482148],[45.18821719,.6544396],[45.28802056,.6607075],[45.38782121,.6670185],[45.48761911,.673373],[45.58741423,.679771],[45.68720653,.6862127],[45.786996,.6926983],[45.88678259,.6992279],[45.98656628,.7058017],[46.08634704,.7124199],[46.18612483,.7190826],[46.28589963,.72579],[46.3856714,.7325423],[46.48544012,.7393396],[46.58520575,.746182],[46.68496826,.7530698],[46.78472761,.7600032],[46.88448378,.7669821],[46.98423674,.774007],[47.08398644,.7810778],[47.18373286,.7881947],[47.28347597,.795358],[47.38321572,.8025678],[47.4829521,.8098242],[47.58268506,.8171274],[47.68241457,.8244775],[47.78214059,.8318748],[47.8818631,.8393194],[47.98158205,.8468114],[48.08129742,.854351],[48.18100916,.8619384],[48.28071724,.8695737],[48.38042163,.8772571],[48.48012229,.8849887],[48.57981919,.8927687],[48.67951229,.9005973],[48.77920155,.9084745],[48.87888693,.9164007],[48.97856841,.9243758],[49.07824593,.9324002],[49.17791948,.9404739],[49.277589,.9485971],[49.37725446,.95677],[49.47691583,.9649926],[49.57657305,.9732652],[49.67622611,.981588],[49.77587496,.989961],[49.87551955,.9983845],[49.97515986,1.0068585],[50.07479583,1.0153833],[50.17442744,1.0239589],[50.27405465,1.0325856],[50.3736774,1.0412636],[50.47329568,1.0499928],[50.57290942,1.0587736],[50.6725186,1.067606],[50.77212317,1.0764902],[50.87172309,1.0854264],[50.97131832,1.0944147],[51.07090882,1.1034552],[51.17049456,1.1125482],[51.27007547,1.1216937],[51.36965154,1.1308919],[51.4692227,1.140143],[51.56878893,1.1494471],[51.66835018,1.1588043],[51.7679064,1.1682149],[51.86745755,1.1776789],[51.9670036,1.1871965],[52.06654449,1.1967678],[52.16608019,1.206393],[52.26561064,1.2160723],[52.36513582,1.2258058],[52.46465566,1.2355935],[52.56417013,1.2454358],[52.66367919,1.2553326],[52.76318278,1.2652842],[52.86268087,1.2752908],[52.9621734,1.2853523],[53.06166034,1.2954691],[53.16114164,1.3056412],[53.26061725,1.3158687],[53.36008712,1.3261519],[53.45955122,1.3364908],[53.55900949,1.3468856],[53.65846189,1.3573365],[53.75790836,1.3678435],[53.85734888,1.3784069],[53.95678338,1.3890267],[54.05621181,1.3997031],[54.15563415,1.4104362],[54.25505032,1.4212262],[54.35446029,1.4320731],[54.45386402,1.4429773],[54.55326144,1.4539387],[54.65265251,1.4649575],[54.75203719,1.4760338],[54.85141542,1.4871678],[54.95078716,1.4983597],[55.05015236,1.5096095],[55.14951096,1.5209173],[55.24886292,1.5322834],[55.34820819,1.5437078],[55.44754672,1.5551907],[55.54687845,1.5667322],[55.64620334,1.5783324],[55.74552134,1.5899915],[55.8448324,1.6017096],[55.94413646,1.6134868],[56.04343348,1.6253233],[56.1427234,1.6372192],[56.24200618,1.6491745],[56.34128175,1.6611895],[56.44055008,1.6732642],[56.5398111,1.6853989],[56.63906476,1.6975935],[56.73831102,1.7098483],[56.83754982,1.7221634],[56.93678111,1.7345388],[57.03600483,1.7469747],[57.13522094,1.7594713],[57.23442938,1.7720286],[57.33363009,1.7846468],[57.43282302,1.7973259],[57.53200813,1.8100662],[57.63118535,1.8228677],[57.73035463,1.8357306],[57.82951592,1.8486549],[57.92866916,1.8616409],[58.0278143,1.8746885],[58.12695128,1.8877979],[58.22608006,1.9009693],[58.32520057,1.9142028],[58.42431276,1.9274984],[58.52341658,1.9408563],[58.62251196,1.9542766],[58.72159886,1.9677594],[58.82067722,1.9813048],[58.91974698,1.994913],[59.01880809,2.008584],[59.11786048,2.022318],[59.21690412,2.036115],[59.31593893,2.0499752],[59.41496486,2.0638987],[59.51398186,2.0778857],[59.61298987,2.0919361],[59.71198883,2.1060501],[59.81097869,2.1202278],[59.90995938,2.1344694],[60.00893085,2.1487749],[60.10789305,2.1631444],[60.20684591,2.1775781],[60.30578938,2.192076],[60.4047234,2.2066382],[60.50364792,2.2212649],[60.60256286,2.2359562],[60.70146819,2.2507121],[60.80036383,2.2655327],[60.89924973,2.2804182],[60.99812583,2.2953687],[61.09699207,2.3103842],[61.1958484,2.3254649],[61.29469475,2.3406108],[61.39353107,2.355822],[61.4923573,2.3710987],[61.59117337,2.3864409],[61.68997923,2.4018487],[61.78877482,2.4173223],[61.88756007,2.4328617],[61.98633494,2.448467],[62.08509936,2.4641383],[62.18385327,2.4798757],[62.2825966,2.4956792],[62.38132931,2.5115491],[62.48005133,2.5274853],[62.5787626,2.543488],[62.67746305,2.5595572],[62.77615264,2.575693],[62.87483129,2.5918956],[62.97349896,2.6081649],[63.07215557,2.6245012],[63.17080106,2.6409044],[63.26943538,2.6573747],[63.36805847,2.6739121],[63.46667026,2.6905168],[63.56527069,2.7071887],[63.66385971,2.7239281],[63.76243725,2.7407349],[63.86100324,2.7576092],[63.95955763,2.7745512],[64.05810036,2.791561],[64.15663136,2.8086385],[64.25515058,2.8257838],[64.35365795,2.8429971],[64.4521534,2.8602785],[64.55063689,2.8776279],[64.64910834,2.8950455],[64.7475677,2.9125313],[64.84601489,2.9300855],[64.94444987,2.9477081],[65.04287257,2.9653991],[65.14128292,2.9831587],[65.23968087,3.0009868],[65.33806634,3.0188837],[65.43643929,3.0368493],[65.53479965,3.0548837],[65.63314734,3.072987],[65.73148232,3.0911593],[65.82980452,3.1094006],[65.92811388,3.127711],[66.02641033,3.1460905],[66.12469382,3.1645392],[66.22296427,3.1830573],[66.32122163,3.2016446],[66.41946584,3.2203014],[66.51769682,3.2390277],[66.61591453,3.2578235],[66.71411889,3.2766889],[66.81230984,3.2956239],[66.91048733,3.3146287],[67.00865128,3.3337033],[67.10680164,3.3528476],[67.20493833,3.3720619],[67.30306131,3.3913461],[67.4011705,3.4107003],[67.49926585,3.4301246],[67.59734728,3.449619],[67.69541475,3.4691836],[67.79346817,3.4888184],[67.8915075,3.5085234],[67.98953267,3.5282988],[68.08754361,3.5481446],[68.18554026,3.5680608],[68.28352256,3.5880475],[68.38149045,3.6081048],[68.47944386,3.6282326],[68.57738273,3.648431],[68.675307,3.6687001],[68.7732166,3.68904],[68.87111148,3.7094506],[68.96899156,3.7299321],[69.06685678,3.7504843],[69.16470709,3.7711076],[69.26254242,3.7918017],[69.36036271,3.8125669],[69.45816788,3.8334031],[69.55595789,3.8543103],[69.65373267,3.8752887],[69.75149215,3.8963383],[69.84923627,3.917459],[69.94696497,3.938651],[70.04467819,3.9599143],[70.14237586,3.9812489],[70.24005792,4.0026548],[70.33772431,4.0241321],[70.43537497,4.0456809],[70.53300982,4.0673011],[70.63062882,4.0889928],[70.7282319,4.1107561],[70.82581899,4.1325909],[70.92339003,4.1544973],[71.02094496,4.1764754],[71.11848372,4.1985251],[71.21600625,4.2206465],[71.31351248,4.2428396],[71.41100234,4.2651045],[71.50847579,4.2874412],[71.60593275,4.3098497],[71.70337317,4.33233],[71.80079698,4.3548822],[71.89820411,4.3775063],[71.99559452,4.4002023],[72.09296813,4.4229702],[72.19032488,4.4458102],[72.28766471,4.4687221],[72.38498757,4.491706],[72.48229338,4.514762],[72.57958209,4.5378901],[72.67685363,4.5610902],[72.77410795,4.5843624],[72.87134498,4.6077068],[72.96856465,4.6311234],[73.06576692,4.6546121],[73.16295171,4.6781729],[73.26011897,4.701806],[73.35726863,4.7255114],[73.45440064,4.7492889],[73.55151493,4.7731388],[73.64861144,4.7970609],[73.74569011,4.8210553],[73.84275088,4.845122],[73.93979369,4.869261],[74.03681848,4.8934724],[74.13382518,4.9177561],[74.23081374,4.9421122],[74.3277841,4.9665406],[74.42473619,4.9910415],[74.52166996,5.0156147],[74.61858534,5.0402604],[74.71548227,5.0649785],[74.8123607,5.089769],[74.90922057,5.1146319],[75.00606181,5.1395673],[75.10288436,5.1645752],[75.19968817,5.1896555],[75.29647317,5.2148083],[75.3932393,5.2400336],[75.48998652,5.2653313],[75.58671474,5.2907016],[75.68342393,5.3161443],[75.78011401,5.3416596],[75.87678493,5.3672473],[75.97343662,5.3929076],[76.07006904,5.4186403],[76.16668212,5.4444456],[76.26327579,5.4703235],[76.35985001,5.4962738],[76.45640471,5.5222966],[76.55293984,5.548392],[76.64945533,5.5745599],[76.74595114,5.6008003],[76.84242719,5.6271133],[76.93888343,5.6534988],[77.0353198,5.6799568],[77.13173625,5.7064873],[77.22813271,5.7330903],[77.32450913,5.7597659],[77.42086545,5.7865139],[77.51720161,5.8133345],[77.61351756,5.8402276],[77.70981323,5.8671932],[77.80608857,5.8942313],[77.90234353,5.9213418],[77.99857803,5.9485249],[78.09479204,5.9757805],[78.19098548,6.0031085],[78.2871583,6.030509],[78.38331045,6.057982],[78.47944187,6.0855274],[78.5755525,6.1131452],[78.67164228,6.1408356],[78.76771116,6.1685983],[78.86375908,6.1964335],[78.95978598,6.2243411],[79.05579181,6.2523211],[79.15177651,6.2803735],[79.24774002,6.3084982],[79.34368229,6.3366954],[79.43960327,6.3649649],[79.53550289,6.3933068],[79.63138109,6.4217211],[79.72723783,6.4502076],[79.82307305,6.4787665],[79.91888669,6.5073977],[80.0146787,6.5361012],[80.11044901,6.564877],[80.20619758,6.5937251],[80.30192434,6.6226455],[80.39762925,6.651638],[80.49331225,6.6807029],[80.58897328,6.7098399],[80.68461228,6.7390492],[80.78022921,6.7683306],[80.875824,6.7976842],[80.9713966,6.82711],[81.06694696,6.856608],[81.16247502,6.886178],[81.25798072,6.9158202],[81.35346402,6.9455345],[81.44892485,6.9753209],[81.54436316,7.0051794],[81.6397789,7.0351099],[81.73517201,7.0651125],[81.83054243,7.0951871],[81.92589012,7.1253337],[82.02121501,7.1555523],[82.11651706,7.1858429],[82.21179621,7.2162054],[82.3070524,7.2466399],[82.40228558,7.2771463],[82.49749569,7.3077246],[82.59268269,7.3383749],[82.68784651,7.3690969],[82.7829871,7.3998909],[82.87810441,7.4307567],[82.97319839,7.4616943],[83.06826897,7.4927037],[83.16331611,7.5237849],[83.25833975,7.5549379],[83.35333983,7.5861626],[83.44831631,7.617459],[83.54326913,7.6488272],[83.63819823,7.6802671],[83.73310356,7.7117786],[83.82798506,7.7433619],[83.92284269,7.7750167],[84.01767638,7.8067432],[84.11248609,7.8385413],[84.20727176,7.870411],[84.30203333,7.9023522],[84.39677076,7.934365],[84.49148398,7.9664494],[84.58617294,7.9986053],[84.68083759,8.0308326],[84.77547788,8.0631315],[84.87009375,8.0955018],[84.96468515,8.1279435],[85.05925202,8.1604567],[85.15379431,8.1930413],[85.24831196,8.2256973],[85.34280493,8.2584246],[85.43727315,8.2912233],[85.53171658,8.3240933],[85.62613516,8.3570346],[85.72052883,8.3900473],[85.81489755,8.4231312],[85.90924126,8.4562863],[86.0035599,8.4895127],[86.09785342,8.5228103],[86.19212177,8.5561792],[86.28636489,8.5896192],[86.38058274,8.6231303],[86.47477524,8.6567126],[86.56894236,8.690366],[86.66308404,8.7240906],[86.75720022,8.7578862],[86.85129085,8.7917529],[86.94535588,8.8256906],[87.03939526,8.8596994],[87.13340892,8.8937792],[87.22739681,8.9279299],[87.32135889,8.9621517],[87.41529509,8.9964444],[87.50920537,9.030808],[87.60308968,9.0652425],[87.69694795,9.099748],[87.79078014,9.1343242],[87.88458619,9.1689714],[87.97836605,9.2036894],[88.07211967,9.2384781],[88.16584699,9.2733377],[88.25954796,9.308268],[88.35322252,9.3432691],[88.44687063,9.3783409],[88.54049223,9.4134834],[88.63408726,9.4486966],[88.72765567,9.4839805],[88.82119741,9.519335],[88.91471243,9.5547601],[89.00820068,9.5902558],[89.10166208,9.6258222],[89.19509658,9.6614592],[89.28850414,9.6971667],[89.38188471,9.7329448],[89.47523825,9.7687933],[89.56856467,9.8047123],[89.66186393,9.8407019],[89.75513599,9.8767619],[89.84838079,9.9128923],[89.94159828,9.9490931],[90.0347884,9.9853643],[90.12795111,10.0217059],[90.22108634,10.0581178],[90.31419405,10.0946001],[90.40727425,10.1311524],[90.50032674,10.1677753],[90.59335155,10.2044684],[90.68634863,10.2412317],[90.77931796,10.2780652],[90.87225941,10.3149689],[90.96517299,10.3519428],[91.05805858,10.3889869],[91.15091618,10.4261012],[91.24374572,10.4632855],[91.33654715,10.5005399],[91.42932043,10.5378644],[91.5220655,10.575259],[91.6147823,10.6127236],[91.70747091,10.6502578],[91.80013103,10.6878624],[91.89276272,10.7255369],[91.98536593,10.7632813],[92.07794062,10.8010957],[92.17048672,10.83898],[92.26300429,10.8769339],[92.35549305,10.9149579],[92.44795306,10.9530518],[92.54038428,10.9912156],[92.63278665,11.0294491],[92.72516012,11.0677524],[92.81750464,11.1061254],[92.90982016,11.1445681],[93.00210662,11.1830806],[93.09436398,11.2216627],[93.18659218,11.2603144],[93.27879116,11.2990359],[93.37096087,11.3378269],[93.46310127,11.3766875],[93.55521231,11.4156176],[93.64729412,11.4546168],[93.73934626,11.493686],[93.83136886,11.5328247],[93.9233619,11.5720329],[94.01532526,11.6113106],[94.10725892,11.6506578],[94.19916284,11.6900744],[94.29103697,11.7295604],[94.38288125,11.7691158],[94.47469564,11.8087406],[94.56648003,11.8484347],[94.65823446,11.8881981],[94.74995883,11.9280307],[94.8416531,11.9679326],[94.93331721,12.0079037],[95.02495112,12.0479441],[95.11655477,12.0880536],[95.20812821,12.128232],[95.29967132,12.1684794],[95.39118383,12.2087964],[95.48266587,12.2491825],[95.57411726,12.289638],[95.66553817,12.3301623],[95.75692844,12.3707556],[95.84828804,12.4114179],[95.9396169,12.4521492],[96.03091497,12.4929495],[96.12218253,12.533818],[96.2134189,12.5747561],[96.30462432,12.615763],[96.39579875,12.6568389],[96.48694214,12.6979835],[96.57805444,12.739197],[96.66913589,12.7804785],[96.76018585,12.8218295],[96.85120455,12.8632492],[96.94219193,12.9047377],[97.03314797,12.9462949],[97.12407261,12.9879207],[97.21496579,13.0296152],[97.30582746,13.0713783],[97.39665758,13.11321],[97.48745609,13.1551102],[97.57822273,13.1970794],[97.66895779,13.2391169],[97.75966112,13.2812227],[97.85033264,13.323397],[97.94097228,13.3656398],[98.03158006,13.4079509],[98.12215634,13.4503293],[98.21270008,13.4927772],[98.30321172,13.5352936],[98.39369122,13.5778783],[98.48413857,13.6205312],[98.57455366,13.6632526],[98.6649364,13.7060423],[98.75528684,13.7489001],[98.8456049,13.7918262],[98.93589051,13.8348205],[99.02614363,13.8778829],[99.1163642,13.9210135],[99.20655218,13.9642122],[99.2967075,14.007479],[99.38683013,14.0508139],[99.47692028,14.0942161],[99.56697731,14.1376872],[99.65700146,14.1812263],[99.74699272,14.2248334],[99.83695102,14.2685084],[99.92687629,14.3122514],[100.0167685,14.3560623],[100.1066276,14.3999411],[100.1964535,14.4438877],[100.2862462,14.4879022],[100.3760057,14.5319844],[100.4657318,14.5761344],[100.5554246,14.6203521],[100.645084,14.6646376],[100.7347094,14.7089917],[100.8243015,14.7534132],[100.9138606,14.7979008],[101.0033857,14.8424571],[101.0928772,14.8870808],[101.1823352,14.9317715],[101.27176,14.9765286],[101.3611502,15.0213549],[101.4505065,15.0662487],[101.539829,15.1112097],[101.6291174,15.1562384],[101.7183718,15.2013346],[101.8075913,15.2464996],[101.8967774,15.2917307],[101.9859293,15.337029],[102.075047,15.3823946],[102.1641314,15.4278256],[102.2531805,15.4733256],[102.3421952,15.5188929],[102.4311756,15.5645271],[102.5201215,15.6102288],[102.6090328,15.6559976],[102.6979095,15.7018334],[102.7867516,15.7477364],[102.8755588,15.7937068],[102.9643315,15.8397438],[103.0530693,15.885848],[103.1417724,15.9320191],[103.2304405,15.9782571],[103.3190737,16.0245621],[103.407672,16.0709338],[103.4962353,16.1173724],[103.5847633,16.1638781],[103.6732562,16.2104507],[103.7617139,16.2570901],[103.8501364,16.3037962],[103.9385221,16.3505722],[104.0268738,16.397412],[104.1151902,16.4443184],[104.2034711,16.4912915],[104.2917181,16.5383282],[104.379928,16.5854345],[104.4681024,16.6326074],[104.5562411,16.6798468],[104.6443441,16.7271528],[104.7324115,16.7745248],[104.820443,16.8219637],[104.9084389,16.8694685],[104.996398,16.9170418],[105.0843216,16.9646804],[105.1722092,17.0123853],[105.2600608,17.0601567],[105.3478763,17.1079943],[105.4356557,17.1558982],[105.5233988,17.2038684],[105.611107,17.2519021],[105.6987776,17.3000046],[105.7864119,17.3481734],[105.8740098,17.3964083],[105.9615713,17.4447094],[106.0490962,17.4930766],[106.1365846,17.5415098],[106.2240364,17.5900092],[106.3114515,17.6385745],[106.3988305,17.6872046],[106.4861721,17.7359021],[106.573477,17.7846654],[106.660745,17.8334946],[106.7479761,17.8823897],[106.8351703,17.9313507],[106.9223276,17.9803773],[107.0094477,18.02947],[107.0965307,18.0786284],[107.1835747,18.1278564],[107.2705833,18.1771465],[107.3575547,18.2265022],[107.4444887,18.2759236],[107.5313874,18.3254066],[107.6182468,18.3749591],[107.7050687,18.4245772],[107.7918532,18.4742608],[107.8786001,18.52401],[107.9653096,18.5738243],[108.0519813,18.6237044],[108.1386152,18.67365],[108.2252114,18.7236611],[108.3117693,18.7737386],[108.3982898,18.8238805],[108.4847724,18.8740877],[108.5712171,18.9243603],[108.657623,18.9746995],[108.7439916,19.0251025],[108.8303231,19.0755693],[108.9166159,19.126102],[109.0028701,19.1767005],[109.0890861,19.2273642],[109.1752642,19.2780924],[109.2614036,19.3288862],[109.3475046,19.3797451],[109.4335672,19.4306689],[109.5195913,19.4816577],[109.6055769,19.5327115],[109.6915212,19.5838348],[109.7774295,19.6350184],[109.8633016,19.6862628],[109.9491325,19.737576],[110.0349248,19.788954],[110.1206785,19.8403961],[110.206393,19.8919037],[110.2920687,19.9434757],[110.3777053,19.9951126],[110.4633029,20.0468142],[110.5488614,20.0985804],[110.6343804,20.1504123],[110.7198606,20.2023079],[110.8053015,20.2542679],[110.8907032,20.3062925],[110.9760657,20.3583815],[111.0613887,20.4105349],[111.1466723,20.4627528],[111.2319166,20.5150349],[111.3171225,20.5673785],[111.4022878,20.6197892],[111.4874133,20.6722644],[111.5724992,20.7248036],[111.657543,20.777412],[111.7425495,20.8300799],[111.8275165,20.8828109],[111.9124393,20.935614],[111.997329,20.9884687],[112.0821801,21.041386],[112.1669871,21.0943743],[112.2517541,21.1474266],[112.336481,21.2005429],[112.4211678,21.2537232],[112.5058144,21.3069674],[112.5904204,21.360276],[112.6749865,21.413648],[112.7595123,21.4670838],[112.8439973,21.5205842],[112.9284425,21.5741473],[113.012847,21.6277743],[113.0972104,21.6814662],[113.1815338,21.7352207],[113.2658167,21.7890389],[113.3500594,21.8429192],[113.4342613,21.8968637],[113.5184225,21.9508717],[113.6025424,22.0049442],[113.6866213,22.0590802],[113.7706594,22.1132798],[113.8546566,22.1675427],[113.9386127,22.2218691],[114.0225278,22.2762589],[114.1064015,22.3307126],[114.1902343,22.3852291],[114.274026,22.4398089],[114.3577763,22.4944519],[114.4414854,22.5491582],[114.5251532,22.6039277],[114.6087796,22.6587604],[114.6923645,22.7136562],[114.7759075,22.7686159],[114.8594094,22.8236379],[114.9428702,22.8787221],[115.0262889,22.9338702],[115.1096665,22.9890804],[115.1930018,23.0443544],[115.2762898,23.0997011],[115.3595414,23.1551012],[115.442757,23.210554],[115.525925,23.2660796],[115.609051,23.321668],[115.692135,23.3773192],[115.7751769,23.4330331],[115.8581767,23.4888097],[115.9411344,23.544649],[116.0240499,23.600551],[116.1069231,23.6565156],[116.189754,23.7125427],[116.2725426,23.7686325],[116.3552889,23.8247847],[116.4379926,23.8809994],[116.520654,23.9372766],[116.6032727,23.9936162],[116.6858489,24.0500182],[116.7683825,24.1064825],[116.8508732,24.1630095],[116.9333214,24.2195985],[117.0157268,24.2762498],[117.0980895,24.3329632],[117.1804092,24.389739],[117.262686,24.4465769],[117.3449198,24.503477],[117.4271107,24.5604391],[117.5092554,24.6174697],[117.59136,24.6745561],[117.6734208,24.7317058],[117.7554386,24.7889174],[117.8374171,24.8461827],[117.9193485,24.9035175],[118.001237,24.9609135],[118.0830822,25.0183713],[118.164885,25.0758891],[118.2466425,25.1334717],[118.3283552,25.1911177],[118.4100301,25.2488159],[118.4916578,25.3065821],[118.5732426,25.3644088],[118.6547825,25.4222992],[118.7362791,25.4802502],[118.8177319,25.5382627],[118.899141,25.5963365],[118.9805061,25.654472],[119.0618273,25.7126689],[119.1431046,25.7709272],[119.2243378,25.8292469],[119.3055275,25.8876267],[119.3866666,25.9460775],[119.4677674,26.0045811],[119.5488301,26.0631373],[119.6298425,26.1217633],[119.7108106,26.1804503],[119.7917344,26.2391986],[119.8726138,26.2980079],[119.9534414,26.356891],[120.0342318,26.4158225],[120.1149852,26.474802],[120.1956859,26.5338563],[120.2763428,26.5929704],[120.3569549,26.6521455],[120.437523,26.7113804],[120.518046,26.7706763],[120.5985238,26.8300339],[120.6789568,26.8894523],[120.7593449,26.9489314],[120.839688,27.0084712],[120.9199861,27.0680717],[121.0002393,27.1277327],[121.0804473,27.1874543],[121.1606103,27.2472364],[121.2407281,27.3070791],[121.3208004,27.3669828],[121.4008277,27.4269464],[121.4808097,27.4869704],[121.5607463,27.5470547],[121.6406376,27.6071994],[121.7204732,27.6674189],[121.8002838,27.7276694],[121.8800387,27.7879948],[121.959748,27.8483803],[122.0394124,27.9088242],[122.1190304,27.96933],[122.1986031,28.0298949],[122.2781297,28.0905209],[122.3576103,28.1512071],[122.4370452,28.211953],[122.5164342,28.2727589],[122.5957774,28.3336246],[122.6750745,28.3945503],[122.7543256,28.4555358],[122.8335306,28.5165812],[122.9126885,28.577688],[122.9918012,28.6388529],[123.0708677,28.7000775],[123.149888,28.7613618],[123.228862,28.8227057],[123.3077905,28.8841077],[123.3866718,28.9455708],[123.4655062,29.007094],[123.5442945,29.0686761],[123.6230355,29.1303193],[123.7017301,29.1920213],[123.7803788,29.2537816],[123.8589808,29.3156014],[123.9375369,29.3774793],[124.0160454,29.4394178],[124.094508,29.501414],[124.1729228,29.5634711],[124.2512908,29.6255874],[124.3296118,29.6877628],[124.4078858,29.7499974],[124.4861128,29.8122911],[124.5642928,29.8746439],[124.6424256,29.9370557],[124.7205113,29.9995265],[124.798546,30.0620638],[124.8765371,30.1246528],[124.9544809,30.1873006],[125.0323773,30.2500074],[125.1102264,30.3127728],[125.1880179,30.375609],[125.2657722,30.4384919],[125.3434935,30.5014127],[125.4211528,30.564413],[125.4987644,30.6274718],[125.5763284,30.6905893],[125.6538446,30.7537654],[125.7313125,30.8170009],[125.8087332,30.880294],[125.8860971,30.9436613],[125.963422,31.007072],[126.0406989,31.0705407],[126.1179374,31.1340515],[126.1951186,31.1976366],[126.2722517,31.2612801],[126.3493367,31.3249818],[126.4263736,31.3887416],[126.5033623,31.4525596],[126.5803029,31.5164359],[126.657195,31.5803704],[126.7340388,31.644363],[126.8108343,31.7084136],[126.8875814,31.7725222],[126.9642801,31.8366887],[127.0409302,31.9009131],[127.1175319,31.9651955],[127.194085,32.0295356],[127.2705913,32.0939294],[127.3470471,32.158385],[127.4234543,32.2228984],[127.4998127,32.2874694],[127.5761224,32.3520981],[127.6523832,32.4167845],[127.7285951,32.4815284],[127.8047581,32.5463299],[127.8808719,32.611189],[127.956937,32.6761055],[128.032953,32.7410793],[128.1089199,32.8061106],[128.1848376,32.8711993],[128.2607062,32.9363453],[128.3365255,33.0015486],[128.4122943,33.066811],[128.488015,33.1321287],[128.5636865,33.1975036],[128.6393085,33.2629356],[128.7148822,33.328423],[128.7904053,33.3939692],[128.8658789,33.45957243],[128.9413016,33.52523468],[129.0166755,33.59095242],[129.0920003,33.65672635],[129.1672758,33.72255677],[129.2425,33.78844583],[129.3176769,33.85438812],[129.3928026,33.92038942],[129.4678785,33.98644745],[129.5429053,34.05256105],[129.6178812,34.11873251],[129.6928071,34.18496053],[129.7676831,34.2512451],[129.8425089,34.31758616],[129.9172847,34.38398376],[129.9919913,34.45046471],[130.0666804,34.51695404],[130.1413055,34.58352084],[130.2158851,34.65013897],[130.2904096,34.71681849],[130.3648837,34.78355425],[130.4393073,34.85034621],[130.5136805,34.91719432],[130.5880032,34.9840986],[130.6622754,35.05105898],[130.7364969,35.1180754],[130.8106679,35.18514783],[130.8847882,35.25227622],[130.9588581,35.31945945],[131.0328764,35.38670062],[131.1068443,35.45399693],[131.1807614,35.52134907],[131.2546131,35.58877329],[131.3284422,35.65622148],[131.4022066,35.72374079],[131.4759206,35.791315],[131.549584,35.85894381],[131.6231951,35.92663009],[131.6967552,35.99437192],[131.7702641,36.0621693],[131.8437217,36.13002213],[131.9171281,36.19793048],[131.9904832,36.26589414],[132.0637869,36.33391315],[132.1370393,36.40198751],[132.2102403,36.4701171],[132.2833898,36.53830192],[132.3564878,36.60654191],[132.4295343,36.67483704],[132.5025292,36.74318728],[132.5754733,36.81159053],[132.6483649,36.88005087],[132.7212048,36.94856622],[132.7939928,37.01713663],[132.8667292,37.08576182],[132.9394137,37.15444201],[133.0120463,37.22317699],[133.084627,37.29196682],[133.1571557,37.36081136],[133.2296323,37.42971076],[133.3020461,37.49868364],[133.3744185,37.56769247],[133.446739,37.63675582],[133.5189937,37.70588213],[133.5912099,37.77505437],[133.6633987,37.84425311],[133.7355057,37.91354346],[133.8075648,37.98287944],[133.8795715,38.05226976],[133.9515258,38.12171438],[134.0234263,38.19121502],[134.0952809,38.26075769],[134.1670779,38.33036473],[134.2388224,38.40002593],[134.3105153,38.46973972],[134.3821541,38.53950964],[134.4537389,38.60933554],[134.5252729,38.67921279],[134.5967538,38.74914433],[134.6681819,38.81912979],[134.7395585,38.8891671],[134.8108797,38.95926164],[134.8821491,39.02940869],[134.9533647,39.09961111],[135.0245289,39.16986469],[135.0956391,39.24017309],[135.1666963,39.31053513],[135.2377001,39.3809509],[135.3086509,39.45142015],[135.3795485,39.52194294],[135.4503927,39.59251934],[135.5211845,39.66314745],[135.5919221,39.73383065],[135.6626063,39.80456724],[135.7332371,39.87535717],[135.8038144,39.94620041],[135.8743382,40.01709692],[135.9448085,40.08804666],[136.0152017,40.159083],[136.0855645,40.23013924],[136.1558974,40.30121492],[136.226153,40.37237721],[136.2963549,40.44359257],[136.3665014,40.51486332],[136.4365956,40.58618469],[136.5066359,40.65755895],[136.5766223,40.72898609],[136.6465541,40.80046668],[136.716434,40.87199711],[136.7862583,40.94358261],[136.8560292,41.01522029],[136.9257453,41.08691132],[136.9954072,41.15865492],[137.0649796,41.23049095],[137.1345677,41.30230173],[137.2040668,41.37420332],[137.2735116,41.44615733],[137.3429021,41.51816376],[137.4122382,41.59022257],[137.4815198,41.66233372],[137.550747,41.73449716],[137.6199196,41.80671285],[137.6890377,41.87898076],[137.7581012,41.95130084],[137.8271123,42.0236681],[137.8960665,42.09609231],[137.9649661,42.16856856],[138.0338109,42.24109683],[138.102601,42.31367701],[138.1713361,42.38630924],[138.2400164,42.4589934],[138.3086417,42.53172935],[138.3772122,42.60451709],[138.4457277,42.67735664],[138.514188,42.75024804],[138.5825933,42.82319102],[138.6509435,42.89618566],[138.7192386,42.9692319],[138.7874784,43.04232988],[138.855663,43.11547939],[138.9237924,43.18868028],[138.9918664,43.26193261],[139.0598852,43.33523636],[139.1278486,43.40859144],[139.1957565,43.48199791],[139.2636089,43.55545568],[139.3314057,43.62896491],[139.3991471,43.70252514],[139.4668329,43.77613654],[139.5344632,43.84979903],[139.6020365,43.92351411],[139.6695553,43.99727878],[139.7370185,44.07109444],[139.804427,44.14495969],[139.8717784,44.2188773],[139.9390728,44.29284803],[140.0063125,44.36686737],[140.0734947,44.44093967],[140.1406226,44.51508185],[140.2076935,44.58925304],[140.2747094,44.66347475],[140.3416707,44.73774703],[140.4085763,44.81206992],[140.4754238,44.8864432],[140.542215,44.96086822],[140.6089501,45.03534398],[140.6756285,45.10986868],[140.742251,45.18444365],[140.8088171,45.25906899],[140.8753269,45.33374535],[140.9417803,45.4084696],[141.0081772,45.48324432],[141.0745176,45.55807038],[141.1408016,45.63294809],[141.2070289,45.70787422],[141.2731997,45.78285029],[141.3393137,45.85787633],[141.4053711,45.93295083],[141.4713718,46.00807584],[141.5373163,46.08325168],[141.6032034,46.15847818],[141.6690334,46.23375326],[141.7348068,46.30907815],[141.8004775,46.38448646],[141.8661351,46.45987628],[141.9317835,46.53535003],[141.9973289,46.61087329],[142.0628174,46.68644744],[142.1282488,46.76206954],[142.1936116,46.83774053],[142.2589284,46.91346138],[142.324188,46.98923034],[142.3894041,47.06504982],[142.4545494,47.14091791],[142.5196374,47.21683585],[142.584668,47.2928029],[142.6496413,47.36884315],[142.7145571,47.44490845],[142.7794155,47.52101094],[142.8442164,47.59717423],[142.9089596,47.67338641],[142.9736454,47.7496345],[143.0382735,47.82594423],[143.102844,47.90230281],[143.1673568,47.97871008],[143.2318123,48.05516602],[143.2962096,48.13167151],[143.3605206,48.20822619],[143.4248021,48.28482822],[143.4890542,48.36147862],[143.5532201,48.43817648],[143.6173279,48.51492384],[143.6813779,48.59171957],[143.7453697,48.66856394],[143.8093036,48.74545541],[143.8731794,48.82240106],[143.936997,48.89938253],[144.0007565,48.97641945],[144.0644578,49.05350445],[144.128101,49.13063757],[144.1916805,49.2078187],[144.2552069,49.28504785],[144.3186749,49.36232491],[144.3820845,49.43966419],[144.4454357,49.51702281],[144.5087344,49.59444348],[144.5719688,49.67191191],[144.6351448,49.74942807],[144.6982621,49.8269919],[144.7613219,49.90460337],[144.824322,49.98226243],[144.8872624,50.05996978],[144.9501453,50.13772386],[145.0129694,50.21552973],[145.0757012,50.29337893],[145.1384417,50.37127539],[145.2010877,50.44921929],[145.2636768,50.52721047],[145.3262058,50.6052489],[145.3886767,50.68332883],[145.4510887,50.76146149],[145.5134416,50.83970429],[145.5757355,50.91790684],[145.6379704,50.996142],[145.7001462,51.07446284],[145.7622643,51.15283217],[145.8243216,51.2312481],[145.8863198,51.30970967],[145.9482597,51.38821793],[146.0101391,51.46677467],[146.0719594,51.54537484],[146.1337201,51.62402315],[146.1954215,51.702719],[146.2570635,51.78145935],[146.318646,51.86024598],[146.3801691,51.93908066],[146.4416325,52.01796188],[146.5030365,52.09688962],[146.5643807,52.17586342],[146.6256652,52.2548851],[146.6868901,52.33395099],[146.7480552,52.41306355],[146.8091607,52.49222176],[146.8702065,52.57142536],[146.9311923,52.65067641],[146.9921184,52.7299735],[147.0529846,52.80931653],[147.1137907,52.8887055],[147.1745369,52.96817435],[147.2352232,53.04762129],[147.2957902,53.12714785],[147.3564135,53.20672016],[147.4169196,53.2863382],[147.4773656,53.36602878],[147.5377514,53.44573816],[147.5980787,53.52546734],[147.6583439,53.60526595],[147.7184917,53.68511186],[147.7786937,53.7650032],[147.838778,53.84493996],[147.898802,53.92492198],[147.9587655,54.00494941],[148.0186686,54.0850348],[148.0785113,54.16515306],[148.1382935,54.24531625],[148.1980151,54.32551212],[148.2576761,54.40576472],[148.3172765,54.48606312],[148.3768163,54.56640652],[148.4362954,54.64682321],[148.4957137,54.72725556],[148.5550713,54.80773275],[148.6143681,54.88825473],[148.673604,54.96882142],[148.7327792,55.0494328],[148.7918934,55.1300888],[148.8509467,55.21078939],[148.9099391,55.29153453],[148.9688704,55.37232424],[149.0277408,55.4531583],[149.0865502,55.53403676],[149.1452976,55.61496157],[149.2039846,55.695929],[149.2626105,55.77694069],[149.321175,55.85799686],[149.3796783,55.9390971],[149.4381205,56.02024129],[149.4965015,56.10142955],[149.5548213,56.1826618],[149.6130796,56.26393812],[149.6712758,56.34525903],[149.7294113,56.42662311],[149.7874879,56.5080254],[149.8455009,56.58947673],[149.903452,56.67097217],[149.9613416,56.75251135],[150.0191695,56.83409421],[150.0769359,56.91572071],[150.1346405,56.99739087],[150.192282,57.07910726],[150.2498632,57.16086446],[150.3073826,57.24266517],[150.3648403,57.32450928],[150.4222361,57.40639673],[150.4795677,57.48833088],[150.5368399,57.57030483],[150.5940516,57.65231936],[150.6511158,57.73444975],[150.7082849,57.81648462],[150.7653113,57.8986282],[150.8222735,57.98081782],[150.8791748,58.0630493],[150.9360128,58.14532496],[150.9927886,58.22764353],[151.0495023,58.31000496],[151.1061537,58.3924092],[151.1627429,58.47485622],[151.2192699,58.55734585],[151.2757345,58.6398783],[151.3321367,58.72245339],[151.3884766,58.80507106],[151.444754,58.8877314],[151.500969,58.9704341],[151.5571215,59.05317913],[151.6132115,59.13596669],[151.669239,59.21879659],[151.7252039,59.30166879],[151.7811062,59.38458325],[151.8369459,59.46753992],[151.8926891,59.55058688],[151.9484032,59.63362803],[152.0040546,59.7167112],[152.0596775,59.79978773],[152.1152035,59.88295473],[152.1706667,59.96616367],[152.226067,60.0494145],[152.281389,60.1327337],[152.3366633,60.21606848],[152.3918743,60.29944522],[152.4470226,60.38286348],[152.5021241,60.46629566],[152.5571461,60.54979781],[152.6121034,60.63334297],[152.6669998,60.71692713],[152.721833,60.80055272],[152.7766048,60.88421761],[152.8313116,60.96792607],[152.8859551,61.05167583],[152.9405355,61.1354668],[152.9950525,61.21929895],[153.0495061,61.3031724],[153.1038964,61.38715506],[153.158223,61.47110946],[153.2124864,61.55510715],[153.2666863,61.63914524],[153.3208235,61.72321099],[153.3748964,61.80733054],[153.4289058,61.89149112],[153.4828516,61.9756922],[153.5367338,62.05993429],[153.5905523,62.14421712],[153.6443072,62.22854045],[153.6979983,62.31290438],[153.7516258,62.39730879],[153.8051892,62.48175385],[153.8586892,62.56623918],[153.9121253,62.65076483],[153.9654976,62.73537726],[154.0188061,62.8199373],[154.0720505,62.90458391],[154.1252309,62.98927071],[154.1783474,63.07399781],[154.2313999,63.15876485],[154.2843883,63.24357191],[154.3373126,63.32841896],[154.3901729,63.41330595],[154.442969,63.49823283],[154.4957009,63.58319956],[154.5483686,63.66820608],[154.6009722,63.75325235],[154.6534421,63.83833832],[154.7059865,63.92346398],[154.7583972,64.0086292],[154.8107436,64.09383835],[154.8630256,64.17908281],[154.9152432,64.26436619],[154.9673964,64.34968943],[155.0194852,64.43511234],[155.0713985,64.52045401],[155.1234671,64.60589006],[155.1753625,64.69137038],[155.2271928,64.77688986],[155.2789583,64.86244846],[155.3306597,64.94804611],[155.3822984,65.03368278],[155.4338708,65.11935847],[155.485378,65.20507309],[155.5368205,65.29082658],[155.5881982,65.3766189],[155.6395087,65.46244998],[155.6907568,65.54831972],[155.741934,65.63422821],[155.7930522,65.72017566],[155.8441075,65.80616145],[155.8950957,65.89218933],[155.946019,65.97825395],[155.9968773,66.06435507],[156.0476775,66.15049455],[156.0984058,66.23667232],[156.1490687,66.32289056],[156.1996667,66.40914171],[156.2501996,66.49543423],[156.3006673,66.58176368],[156.3510698,66.66813091],[156.4014072,66.75453924],[156.4516791,66.84098314],[156.5018858,66.92746585],[156.5520271,67.01398608],[156.6021029,67.10054324],[156.6521141,67.18713954],[156.7020593,67.27377201],[156.751939,67.36044472],[156.8017523,67.44715399],[156.851501,67.53390048],[156.9011841,67.62068406],[156.9508016,67.70750619],[157.0003535,67.79436619],[157.0498399,67.88126297],[157.0992606,67.96819709],[157.1486156,68.05516826],[157.197905,68.142177],[157.2471286,68.2292229],[157.2962865,68.31633305],[157.3453797,68.40345324],[157.3944043,68.49058324],[157.4433648,68.57777744],[157.4922595,68.66500853],[157.5410896,68.75227659],[157.5898523,68.8395815],[157.6385491,68.9269232],[157.6871799,69.01430165],[157.7357447,69.10171668],[157.7842438,69.1891685],[157.8326764,69.27665666],[157.8810344,69.3641939],[157.9293353,69.45175552],[157.9775702,69.53935357],[158.0257462,69.62697539],[158.0738487,69.71464607],[158.1218851,69.80235299],[158.1698555,69.89009605],[158.2177592,69.97787549],[158.2655967,70.06569109],[158.3133677,70.15354293],[158.3609469,70.24154804],[158.4087109,70.3293544],[158.4562828,70.41731416],[158.5037883,70.50530981],[158.5512274,70.59334131],[158.5985998,70.68140868],[158.6459061,70.76951159],[158.6931456,70.85765035],[158.7403185,70.94582476],[158.7874247,71.03403476],[158.8344624,71.1222843],[158.8814353,71.21056579],[158.9283415,71.29888243],[158.9751811,71.38723446],[159.0219539,71.47562181],[159.06866,71.56404444],[159.1152992,71.6525023],[159.1618742,71.74099039],[159.2083797,71.82951876],[159.2548186,71.91808198],[159.3011905,72.00668022],[159.3474955,72.09531345],[159.3937336,72.18398161],[159.4399052,72.27268349],[159.4860094,72.36142134],[159.5320464,72.45019408],[159.578017,72.53900118],[159.6239204,72.62784293],[159.6697562,72.71671976],[159.7155249,72.80563107],[159.7612264,72.89457684],[159.8068606,72.98355733],[159.8524275,73.07257282],[159.8979274,73.16162201],[159.9433603,73.25070512],[159.9887257,73.33982289],[160.0340238,73.42897494],[160.0792545,73.51816117],[160.1244179,73.60738153],[160.1695139,73.69663596],[160.214542,73.7859255],[160.2595031,73.87524796],[160.3043295,73.96464016],[160.3492233,74.0539938],[160.393982,74.1434178],[160.4386721,74.23287725],[160.4832956,74.32236885],[160.5278515,74.41189412],[160.5723391,74.50145374],[160.6167598,74.59104616],[160.6611128,74.6806721],[160.7053975,74.77033209],[160.7496149,74.86002508],[160.7937659,74.94974958],[160.8378466,75.03951068],[160.881861,75.12930335],[160.9258069,75.21912953],[160.9696856,75.30898856],[161.0134983,75.39887897],[161.0572417,75.48880343],[161.1009174,75.57876086],[161.1445243,75.66875219],[161.1880633,75.75877642],[161.2315342,75.8488335],[161.2749374,75.93892266],[161.3182722,76.02904531],[161.361539,76.11920066],[161.4047378,76.2093886],[161.4478683,76.29960921],[161.4909313,76.38986207],[161.5339255,76.48014773],[161.5768515,76.57046585],[161.6197093,76.66081643],[161.6624988,76.75119929],[161.7051265,76.84166436],[161.7478731,76.93206184],[161.7904389,77.02256829],[161.832955,77.11308031],[161.8753126,77.20369923],[161.9178015,77.29417286],[161.9601127,77.38478071],[162.0023555,77.4754204],[162.0445232,77.56610335],[162.0866274,77.65681008],[162.1286647,77.74754518],[162.1706402,77.83830051],[162.2125404,77.92909914],[162.254372,78.01992938],[162.2961347,78.11079128],[162.3378291,78.20168458],[162.3794565,78.29260567],[162.4210139,78.38356164],[162.4625024,78.474549],[162.5039223,78.5655672],[162.5452731,78.65661725],[162.5865554,78.74769806],[162.6277231,78.83886178],[162.6689131,78.92995401],[162.7099887,79.02112855],[162.7509955,79.1123341],[162.7919343,79.20357011],[162.8328031,79.29483775],[162.8736039,79.38613566],[162.9143351,79.4774646],[162.9549972,79.56882437],[162.9955902,79.6602149],[163.0361139,79.75163659],[163.0765689,79.84308828],[163.1169548,79.9345705],[163.1572712,80.02608338],[163.1975187,80.11762663],[163.2376971,80.20920021],[163.2778065,80.30080399],[163.3178467,80.39243802],[163.357818,80.48410153],[163.3977198,80.57579589],[163.4375523,80.66752036],[163.4771974,80.75933737],[163.5170097,80.85105889],[163.5566343,80.94287335],[163.5961896,81.0347177],[163.6356762,81.12659149],[163.6750927,81.2184955],[163.714441,81.31042868],[163.7537187,81.40239209],[163.7929269,81.49438513],[163.8320653,81.58640803],[163.8711345,81.6784602],[163.910134,81.77054199],[163.9490641,81.86265308],[163.9879245,81.95479366],[164.0267154,82.04696347],[164.0654367,82.13916252],[164.1040884,82.23139078],[164.1426704,82.32364818],[164.1811834,82.41593354],[164.219626,82.50824913],[164.2579989,82.60059372],[164.2963021,82.69296725],[164.3345346,82.78537113],[164.3726979,82.8778026],[164.4107918,82.97026262],[164.4488153,83.0627515],[164.4867695,83.15526891],[164.5246525,83.24781751],[164.5624665,83.34039275],[164.6002116,83.43299475],[164.6378859,83.5256266],[164.6754891,83.61828869],[164.7130235,83.71097728],[164.7504878,83.80367411],[164.7878832,83.89641724],[164.8252077,83.98918858],[164.8624631,84.08198806],[164.8996475,84.17481563],[164.9367608,84.26767152],[164.9738051,84.36055494],[165.010779,84.45346647],[165.0476846,84.5464058],[165.0845191,84.63937594],[165.1212836,84.732371],[165.1579767,84.82539211],[165.1945994,84.9184427],[165.2311518,85.01152091],[165.2676341,85.10462669],[165.304046,85.19776],[165.3402895,85.29091705],[165.3766585,85.38410534],[165.4128591,85.47732101],[165.4489895,85.57056409],[165.4850435,85.66383435],[165.52089,85.75713183],[165.5569519,85.85045648],[165.5928004,85.94380822],[165.6285845,86.03718706],[165.6642923,86.1305929],[165.6999292,86.2240257],[165.7354956,86.31748539],[165.770973,86.41097203],[165.8063984,86.50448536],[165.8417529,86.5980258],[165.8769045,86.69173],[165.9122684,86.78518593],[165.947411,86.8788059],[165.9824828,86.97245238],[166.0174847,87.06612534],[166.0524151,87.1598241],[166.0872734,87.25354989],[166.122062,87.34730186],[166.1567798,87.44108026],[166.1914267,87.53488487],[166.2260026,87.62871564],[166.2605315,87.72257265],[166.2949667,87.81645546],[166.3293307,87.91036446],[166.3636239,88.0042994],[166.3978461,88.09826024],[166.4319973,88.1922469],[166.4660774,88.2862594],[166.5000866,88.38029763],[166.5340246,88.47436162],[166.5678917,88.56845118],[166.6016877,88.66256632],[166.6354126,88.75670698],[166.6690664,88.85087311],[166.702649,88.94506466],[166.7361606,89.03938916],[166.7696009,89.13363241],[166.8029701,89.22790099],[166.8362681,89.32219519],[166.8694948,89.41651427],[166.9026504,89.51085811],[166.9357347,89.60522622],[166.9687406,89.69962001],[167.0016809,89.7940387],[167.0345503,89.8884831],[167.0673491,89.98295106],[167.1000754,90.07744418],[167.1327314,90.17196254],[167.1653178,90.26650329],[167.1978392,90.36107031],[167.2302811,90.45566184],[167.2626516,90.55027784],[167.2949506,90.64491773],[167.3271782,90.7395825],[167.3593356,90.83427092],[167.3914202,90.92898482],[167.4234332,91.02372236],[167.4553747,91.11848227],[167.4872482,91.213268],[167.5190465,91.30807895],[167.5507733,91.40291272],[167.5824284,91.49777032],[167.6140119,91.59265159],[167.6455244,91.68755658],[167.6769644,91.78248577],[167.7083328,91.87743868],[167.7393758,91.97241404],[167.7708531,92.06741443],[167.8020062,92.16243813],[167.8330841,92.2574869],[167.8640936,92.35255766],[167.8950313,92.44765206],[167.9258959,92.54276953],[167.95669,92.63791026],[167.9874122,92.73307411],[168.0180603,92.82826122],[168.048639,92.92346965],[168.0791494,93.01870458],[168.1095854,93.11397013],[168.1399481,93.20924946],[168.1702413,93.30455166],[168.20046,93.39987668],[168.2306067,93.49521568],[168.2606815,93.5905847],[168.2906843,93.68597831],[168.3206149,93.78139408],[168.3504733,93.8768301],[168.3802597,93.97229078],[168.4099737,94.06777412],[168.4396157,94.16328154],[168.4691857,94.25880958],[168.4986835,94.35435952],[168.5281086,94.44993332],[168.557462,94.54552984],[168.5867433,94.64114521],[168.6159523,94.73687059],[168.645089,94.83244416],[168.6741536,94.92812783],[168.7031427,95.02383142],[168.7320627,95.11955828],[168.7609105,95.21530695],[168.7896859,95.31107737],[168.818389,95.40686965],[168.8470197,95.50268344],[168.8755808,95.5985188],[168.904067,95.69437552],[168.9324804,95.79025317],[168.9608223,95.88615278],[168.9890908,95.98207403],[169.0172869,96.0780408],[169.0454111,96.17400468],[169.0734622,96.2699654],[169.1014407,96.36597157],[169.1293467,96.46200016],[169.1571802,96.55804849],[169.1849406,96.65411782],[169.2126232,96.75021107],[169.2402388,96.84632215],[169.2677818,96.94245421],[169.2952522,97.03860703],[169.3226499,97.13478055],[169.3498781,97.23097473],[169.3771308,97.32718793],[169.4044074,97.42342325],[169.4315211,97.51967596],[169.4585556,97.61595133],[169.4855174,97.71224797],[169.5124065,97.80856493],[169.5392228,97.90490217],[169.5659663,98.00125983],[169.5925907,98.09763762],[169.6191885,98.19403533],[169.64576,98.29045308],[169.6722124,98.38689082],[169.698592,98.4833485],[169.7248987,98.5798256],[169.7511335,98.676323],[169.7772943,98.77284038],[169.8033837,98.86937659],[169.8293987,98.9659332],[169.8553383,99.06256186],[169.8812073,99.15910817],[169.9070032,99.255724],[169.9327276,99.3523588],[169.9583776,99.44912032],[169.9839545,99.54569345],[170.0094585,99.64238642],[170.0348894,99.73909848],[170.0602472,99.83582231],[170.085532,99.93257279],[170.1107438,100.0293423],[170.1358824,100.1261309],[170.160948,100.222938],[170.1859404,100.3197641],[170.21084,100.4166089],[170.2356911,100.5134691],[170.2604649,100.6103518],[170.2851656,100.7072532],[170.3097931,100.8041732],[170.3343474,100.9011117],[170.3588285,100.9980688],[170.3832315,101.0950461],[170.407566,101.1920401],[170.4318273,101.2890524],[170.4560153,101.386083],[170.4801308,101.4831316],[170.5041721,101.5801988],[170.5281402,101.6772839],[170.552035,101.7743873],[170.5758622,101.8715066],[170.5996104,101.9686458],[170.6232852,102.0658028],[170.6468871,102.1629766],[170.6704142,102.2601707],[170.6938689,102.3573812],[170.71725,102.4546096],[170.7405576,102.5518555],[170.7637921,102.6491189],[170.7869531,102.7463997],[170.8100416,102.8436966],[170.8330564,102.9410119],[170.8559968,103.038345],[170.8788637,103.1356955],[170.9016573,103.2330631],[170.9243767,103.3304481],[170.9470223,103.4278502],[170.969595,103.5252693],[170.9920941,103.6227054],[171.0145196,103.7201585],[171.0368715,103.8176285],[171.0591476,103.9151193],[171.0813504,104.0126267],[171.1034814,104.1101473],[171.1255387,104.2076845],[171.1475211,104.3052399],[171.1694335,104.4028062],[171.1912696,104.5003936],[171.2130323,104.5979968],[171.2347234,104.6956121],[171.2563395,104.793247],[171.2778814,104.890899],[171.2993499,104.9885674],[171.3207439,105.0862521],[171.342064,105.183953],[171.3633103,105.28167],[171.3843734,105.3794945],[171.4055641,105.4771761],[171.426589,105.5749409],[171.4475543,105.6727008],[171.4684318,105.7704968],[171.4892373,105.8683067],[171.5099667,105.9661346],[171.5306223,106.0639781],[171.5512041,106.1618373],[171.5717111,106.2597133],[171.592146,106.3576028],[171.6125061,106.4555082],[171.6327919,106.5534295],[171.652973,106.6513723],[171.6731427,106.7493159],[171.6932017,106.8472844],[171.7131888,106.9452671],[171.7331046,107.0432641],[171.7529465,107.141276],[171.7727134,107.2393043],[171.7924072,107.3373461],[171.8120287,107.4354024],[171.8315744,107.5334738],[171.851047,107.6315585],[171.8704515,107.7296569],[171.8896891,107.8277895],[171.9090251,107.9259014],[171.9282006,108.0240459],[171.9472975,108.1222056],[171.9663247,108.2203789],[171.985069,108.3186778],[172.004157,108.4167677],[172.0229661,108.5149819],[172.0416967,108.6132122],[172.0603579,108.7114555],[172.0789402,108.8097139],[172.0974483,108.9079863],[172.115882,109.0062729],[172.1342417,109.1045731],[172.1525272,109.2028872],[172.1707371,109.3012155],[172.1888731,109.3995574],[172.2069359,109.4979125],[172.2249219,109.5962853],[172.2428355,109.6946684],[172.2606753,109.7930644],[172.2784407,109.8914737],[172.2961318,109.9898965],[172.313751,110.0883285],[172.3312489,110.186828],[172.3485702,110.285321],[172.366155,110.3837166],[172.3834744,110.4822054],[172.4007128,110.5807086],[172.4178829,110.679224],[172.434979,110.7777519],[172.4520007,110.8762925],[172.4689491,110.9748457],[172.4858221,111.0734117],[172.5026287,111.1719886],[172.5193527,111.2705803],[172.5360031,111.3691835],[172.5525781,111.4678004],[172.5690787,111.5664297],[172.5855048,111.6650714],[172.6018564,111.7637255],[172.6181331,111.862393],[172.6343357,111.9610717],[172.6504637,112.0597627],[172.6665172,112.1584659],[172.6824961,112.2571811],[172.6984005,112.3559084],[172.7142303,112.4546476],[172.7299856,112.5533988],[172.7456663,112.6521618],[172.7612724,112.7509366],[172.7768047,112.8497229],[172.7922616,112.9485212],[172.8076438,113.0473311],[172.8229514,113.1461526],[172.8381844,113.2449856],[172.8533439,113.3438273],[172.8684274,113.4426832],[172.8834365,113.5415505],[172.8983709,113.6404288],[172.9132306,113.7393186],[172.9280153,113.83822],[172.9427257,113.9371321],[172.9571433,114.0361162],[172.9719024,114.1350102],[172.9863849,114.2339618],[173.0007972,114.3329023],[173.0151337,114.4318693],[173.0293956,114.5308471],[173.0435825,114.6298349],[173.057691,114.7288399],[173.0717284,114.82785],[173.085702,114.9268683],[173.0996009,115.0258909],[173.1134183,115.1249252],[173.1271568,115.223977],[173.1408206,115.3230391],[173.1544095,115.4221115],[173.167925,115.5211937],[173.1813643,115.6202865],[173.1947293,115.7193894],[173.2080188,115.8185024],[173.2212336,115.9176253],[173.2343735,116.0167583],[173.2474385,116.1159011],[173.2604272,116.2150546],[173.2733415,116.314218],[173.2861807,116.4133916],[173.2989478,116.5125725],[173.3116383,116.6117639],[173.3242531,116.710965],[173.3367958,116.8101739],[173.349261,116.9093947],[173.3616518,117.0086241],[173.3738563,117.1079557],[173.3862078,117.2071114],[173.3983728,117.3063687],[173.4104639,117.4056349],[173.4224803,117.5049103],[173.4344216,117.6041947],[173.4462876,117.7034882],[173.4580819,117.8027898],[173.4697981,117.902101],[173.4814393,118.001421],[173.4930056,118.1007497],[173.5044974,118.2000857],[173.5159163,118.2994304],[173.527258,118.3987842],[173.5385242,118.4981475],[173.54949,118.5976386],[173.5608318,118.6968984],[173.5718728,118.7962869],[173.5828388,118.8956837],[173.5937297,118.9950887],[173.6045455,119.094502],[173.6152863,119.1939234],[173.625952,119.2933528],[173.6365426,119.3927903],[173.6470447,119.4922385],[173.657485,119.5916919],[173.6678502,119.6911531],[173.6781403,119.7906221],[173.6883551,119.8900993],[173.698495,119.9895837],[173.7085738,120.089073],[173.7185635,120.1885727],[173.728478,120.2880798],[173.7383174,120.3875945],[173.7480816,120.4871165],[173.7577694,120.5866462],[173.7673832,120.6861829],[173.7769219,120.7857269],[173.7863854,120.885278],[173.7957737,120.9848362],[173.8050866,121.0844017],[173.8143229,121.1839744],[173.8234761,121.2835672],[173.8325637,121.3831534],[173.8415442,121.4827794],[173.8504808,121.5823799],[173.8593841,121.6819398],[173.8681708,121.7815529],[173.8768842,121.8811715],[173.8855204,121.9807978],[173.8940814,122.0804306],[173.9025671,122.1800698],[173.9109789,122.2797151],[173.9193146,122.3793663],[173.9275745,122.4790245],[173.9357592,122.5786889],[173.9438554,122.6783718],[173.9518889,122.7780492],[173.9598475,122.8777321],[173.9677307,122.9774211],[173.9755388,123.0771158],[173.9832774,123.1768064],[173.9909341,123.276514],[173.9985163,123.3762261],[174.0060237,123.4759434],[174.0134554,123.5756668],[174.0208209,123.6753928],[174.0281021,123.7751273],[174.0353087,123.8748663],[174.0424392,123.9746118],[174.0494943,124.0743626],[174.0564752,124.1741182],[174.0633797,124.2738795],[174.0702081,124.3736464],[174.0769618,124.4734182],[174.0836402,124.573195],[174.0902431,124.6729769],[174.0967708,124.7727637],[174.1032231,124.8725554],[174.1096,124.9723519],[174.1159015,125.0721533],[174.1221276,125.1719594],[174.1282784,125.2717702],[174.1343535,125.371586],[174.1403522,125.4714064],[174.1462768,125.5712309],[174.152126,125.6710598],[174.1578998,125.7708931],[174.1635983,125.8707307],[174.1692052,125.9705759],[174.1747526,126.0704219],[174.1802247,126.1702722],[174.1856215,126.2701266],[174.190937,126.3699933],[174.1961808,126.4698564],[174.2013683,126.5697194],[174.2064705,126.6695809],[174.2114903,126.769455],[174.2164348,126.8693327],[174.2213015,126.9692163],[174.2260949,127.0691015],[174.2308146,127.1689896],[174.2354572,127.268882],[174.2400236,127.3687779],[174.2445163,127.4686761],[174.2489341,127.5685785],[174.2532749,127.6684845],[174.2575402,127.7683938],[174.26173,127.8683063],[174.2658444,127.9682219],[174.2698821,128.0681458],[174.2738455,128.1680676],[174.2777341,128.2679923],[174.2815447,128.3679206],[174.2852817,128.4678511],[174.2889419,128.5677863],[174.2925322,128.6677204],[174.2960414,128.7676614],[174.2994767,128.8676027],[174.3028382,128.9675421],[174.3061222,129.0674891],[174.3093319,129.1672686],[174.3124674,129.2672171],[174.3155252,129.3671679],[174.3185077,129.467121],[174.3214146,129.5671529],[174.3242486,129.6671107],[174.3268918,129.7670704],[174.329681,129.866955],[174.332286,129.966919],[174.3348122,130.0668848],[174.3372699,130.1668525],[174.3396484,130.2668221],[174.3419551,130.3667932],[174.3441827,130.4667631],[174.3463348,130.5667378],[174.3484115,130.6667142],[174.3504133,130.7666928],[174.3523382,130.8666719],[174.3541878,130.9666528],[174.3559532,131.0666351],[174.3576522,131.1666216],[174.3592758,131.2666064],[174.3608244,131.3665925],[174.3623074,131.4665797],[174.3637045,131.5665677],[174.365026,131.6665548],[174.366272,131.7665457],[174.3674425,131.8665371],[174.3685375,131.9665295],[174.3695571,132.0665226],[174.3705011,132.1665165],[174.3713696,132.2665111],[174.3721257,132.3665064],[174.3728438,132.4665023],[174.3735225,132.5664979],[174.3740889,132.6664948],[174.3745653,132.7664927],[174.3749805,132.8664904],[174.3753203,132.9664884],[174.3755904,133.0664867],[174.3757766,133.1667342],[174.3758897,133.2667343],[174.3759272,133.3667345],[174.37592679998656,133.46673467118126],[174.37548572845003,133.5668108636193],[174.37569929988595,133.66673485955607],[174.37548239845674,133.7667312959249],[174.3751435999412,133.8667355250056],[174.37476549961568,133.9667349348241],[174.37430450389687,134.0667466447292],[174.37377530333745,134.16674545921012],[174.373188502361,134.2667431722911],[174.3725084014417,134.36674105535948],[174.3717723988216,134.46673441339064],[174.37094889257767,134.56671812423494],[174.3700416913001,134.6667150944657],[174.36905978933666,134.76671024970906],[174.36800228708267,134.86670464430242],[174.36686928452949,134.96669825520826],[174.3656607816456,135.06669099842662],[174.36437817837356,135.1666827204325],[174.36301857474655,135.26667351031338],[174.36158407038383,135.36666235228182],[174.3600731656826,135.4666503059003],[174.35848696082164,135.56663784775623],[174.3568237557175,135.66662475548716],[174.35508644990867,135.76660979800565],[174.35327374359403,135.8665935057992],[174.35138543674358,135.96657579894276],[174.34942172934007,136.0665566313614],[174.3473820215654,136.16653648828003],[174.34526731298712,136.26651421632377],[174.3430770038618,136.36649049971754],[174.34081129403,136.4664649133864],[174.33846918394374,136.56643866270522],[174.33605357252387,136.66640886958677],[174.3335617604745,136.76637741204337],[174.33099414786682,136.866344479925],[174.32835093451558,136.96630957915673],[174.32563302006636,137.06627176440108],[174.32283880519202,137.166232830258],[174.31996908950697,137.26619174842747],[174.31702387298986,137.36614846190955],[174.31400455565446,137.46610300717924],[174.3109063376181,137.56605569803648],[174.30773461849418,137.6660055024564],[174.3044874984673,137.7659529131514],[174.30116597731651,137.86589734074659],[174.29776785539525,137.96583972806684],[174.2942698327843,138.06578029484965],[174.29072070886477,138.16571738179513],[174.28709628387844,138.2656516379783],[174.28339625788303,138.36558321751158],[174.27963503603456,138.46552586699406],[174.2757842078984,138.56545176607762],[174.27185777864668,138.66537470451135],[174.26786644274628,138.76527992528378],[174.2637890112683,138.8651969553428],[174.25963697860982,138.96511085137698],[174.25540874470983,139.06502145098636],[174.25110500958854,139.16492880790838],[174.24672587322866,139.2648328761056],[174.24227173502754,139.3647320484281],[174.23774189604916,139.46462916213818],[174.23313645583258,139.56452298819846],[174.2284558139443,139.66441237045896],[174.22369957104655,139.76429907506963],[174.21886572685793,139.86418235178044],[174.21395768158814,139.96406275931645],[174.20897503461657,140.06393864282768],[174.20391708613795,140.16381052157664],[174.19878373620665,140.26367854060084],[174.19357508480124,140.3635426428627],[174.1882919315962,140.4634019600624],[174.1829322771992,140.56325811294974],[174.17749742120358,140.66311001703733],[174.17198886366518,140.76295782076267],[174.16640910353377,140.8627987231884],[174.16074754301286,140.9626386022892],[174.1550102806954,141.06247370477772],[174.1491984167437,141.1623044632415],[174.14331105113567,141.26213081901807],[174.1374445838833,141.3619527859574],[174.1314026148973,141.46177016270948],[174.12528894477893,141.5615845333492],[174.1186464723469,141.66139283328894],[174.1128354980789,141.76119608141718],[174.10649572206458,141.86099477184533],[174.10008054421846,141.96078859154878],[174.09359006453636,142.06057752949],[174.08702429604244,142.16039631666655],[174.08038311260333,142.26017526412087],[174.07366651426142,142.35991448485294],[174.06687472634155,142.45968151178297],[174.06001083717234,142.5594452207507],[174.05306824604145,142.6592037132312],[174.04604885292622,142.75895692851205],[174.03895559096173,142.8587932264995],[174.03178689318898,142.9585340497686],[174.02454296165624,143.05818486024395],[174.01722366039422,143.1579164069886],[174.00982565703924,143.25764238724605],[174.0023537537982,143.35736868521596],[173.9948068465642,143.45708434931154],[173.98718763681268,143.55679331352005],[173.97949192488775,143.6564964964164],[173.97172091106316,143.75619462755054],[173.96387459469386,143.8558859869226],[173.95595387442228,143.95556695419535],[173.94795685356735,144.05524638008063],[173.93988462964643,144.15491764416646],[173.93174000422312,144.2545849154025],[173.92351717769904,144.3542492659637],[173.9152190476253,144.45390416476297],[173.9068457149806,144.5535522217627],[173.89840038015467,144.65319447576277],[173.88987644295307,144.75283040923821],[173.88127750328547,144.85245978083907],[173.8726030611632,144.95208262075286],[173.8638532163087,145.05169818894205],[173.85502826922828,145.15130783529415],[173.84612801963314,145.25091078988413],[173.8371526660833,145.3505032126373],[173.8281020113875,145.45009259362814],[173.81895205413744,145.54967518185688],[173.809750794266,145.6492507893236],[173.8004742317711,145.7488194150282],[173.79112266663398,145.84838100885827],[173.7816957988359,145.94793552092628],[173.7722189283826,146.04748296174475],[173.76264185519886,146.14702314013866],[173.7529740792615,146.2465559925455],[173.74324640342584,146.34608912741479],[173.73344352207175,146.44560756048503],[173.72356543792168,146.54511855175576],[173.71361215095692,146.64462205122697],[173.70358376115868,146.74411800886114],[173.69348026850074,146.84360635465828],[173.68330157301682,146.9430871786559],[173.67304787458696,147.04256016077903],[173.66271907328613,147.14202550106512],[173.65226486593411,147.24147472837726],[173.64180406639005,147.34094477816294],[173.63124995611633,147.44038623293804],[173.62062084285162,147.53981972583864],[173.60996741875866,147.63922434785377],[173.59918819940702,147.73864163704292],[173.58833387694443,147.83805064439508],[173.57740455153964,147.93745181987273],[173.5664000229226,148.03684444355093],[173.55532049117588,148.13622873535468],[173.5441658562469,148.23560455532146],[173.5329362183945,148.3349725934137],[173.5216315771086,148.43433148963157],[173.51024943262567,148.53368187491247],[173.49879478490783,148.6330236473814],[173.4872020342897,148.7323577116383],[173.47566018003053,148.8316820568084],[173.4639803224773,148.930997643729],[173.45219036160182,149.03030439193765],[173.4403602030729,149.12961740522084],[173.4284525355382,149.22890641756817],[173.41647236478363,149.32818685710353],[173.40441919046793,149.4274578140145],[173.39228901271517,149.52671961980104],[173.38008402542766,149.62595601363935],[173.36784114050158,149.72519871168967],[173.35548635230214,149.82443270170302],[173.34305666058668,149.92365732980446],[173.33055206562153,150.02287330599395],[173.31797256700915,150.12207957027158],[173.3053180744395,150.221301962673],[173.29258876820643,150.32048793312697],[173.27978454860613,150.41963827167086],[173.2669054351236,150.51880493830103],[173.25395141824882,150.6179625730193],[173.2409224975168,150.71710993582573],[173.22781607365528,150.8162489676952],[173.21463714569634,150.91537708675287],[173.2013831141577,151.01449567397367],[173.1880574786866,151.11360378804514],[173.17465403942597,151.21270181129225],[173.16117569597438,151.31178867262759],[173.14762264907802,151.41086636197605],[173.13399469833195,151.50993379941264],[173.12029204370614,151.60899090486242],[173.10648718520628,151.70803769863784],[173.09263602276468,151.80707398977646],[173.07871005639086,151.90609980896576],[173.06470928605856,152.00511508620576],[173.0506338117415,152.10411975145894],[173.0364858333533,152.20311357390034],[173.02225925128064,152.30209758581734],[173.00795926491566,152.4010701652601],[172.9935844744759,152.50003189275358],[172.9791364785851,152.59897909769802],[172.96461237992838,152.69791894118043],[172.95001357714443,152.79684779267606],[172.93534007021074,152.8957655921849],[172.92059165917235,152.99467245978195],[172.90576904378915,153.09356775520476],[172.89087152427874,153.1924520587158],[172.87589930054358,153.29132511024005],[172.86085237254994,153.39018681977754],[172.8457308402828,153.4890371472908],[172.83053480365592,153.5878758627423],[172.81526386277807,153.68670325628204],[172.7999182175367,153.78551902783508],[172.7844981679506,153.88432322728883],[172.76900351397848,153.98311574471836],[172.7534321555493,154.08189639091117],[172.73776939383026,154.18066828137952],[172.7220509265914,154.27942546273638],[172.7062577548841,154.37817074210653],[172.69039017868573,154.47690405937743],[172.67444979768877,154.5756245939492],[172.65843321239967,154.6743336970967],[172.64234182267586,154.77303098829498],[172.62620062646428,154.87171098816944],[172.60996212754833,154.97038379453184],[172.593647323984,155.06904421950753],[172.57725741575618,155.16769222264656],[172.5607935029211,155.2663279535364],[172.544255285385,155.36495116228954],[172.5276395632156,155.463562030106],[172.51095243625872,155.56216014469834],[172.4941896052572,155.66074748767883],[172.4772551995089,155.75940220500448],[172.46044312754216,155.85788031644262],[172.44344468748972,155.95644356777467],[172.42638533660784,156.05497795194617],[172.40926577491894,156.15348352869466],[172.39205771431625,156.25199201863038],[172.37477524882132,156.35048747646695],[172.35742207774388,156.44896806081704],[172.3399909023857,156.54743724441784],[172.32248532212398,156.6458933659195],[172.30490533688751,156.74433623532207],[172.28725094665754,156.8427658026255],[172.2692680023093,156.94131778314508],[172.25171815188835,157.03958682123488],[172.23383064805853,157.1379801659532],[172.2158789376595,157.23635600474768],[172.19785292215445,157.33471824140557],[172.17975270149464,157.43306674588936],[172.1615781757213,157.53140162823658],[172.14332984461691,157.62972230825972],[172.12500680849652,157.72802962629623],[172.10660856767896,157.8263244325336],[172.08813852028894,157.92460172569713],[172.069592868498,158.0228672972114],[172.0509730114398,158.12111883655166],[172.03228944752732,158.2193521097806],[172.01352088008085,158.3175759748852],[171.99467850706705,158.41578500766573],[171.9757630282797,158.5139786578598],[171.95677254455506,158.61215915617976],[171.9377078554582,158.71032534232563],[171.9185643629094,158.80848233802212],[171.89935146294795,158.90661957974496],[171.88006525758044,159.00474241895623],[171.86070924452287,159.1028447643439],[171.8412739281221,159.20093820946963],[171.82176470617657,159.29901688230882],[171.80218127872374,159.39708088297402],[171.7824805461904,159.49513135762757],[171.7627488075768,159.59316562390725],[171.74291667286275,159.69121030783612],[171.72303702304706,159.78921472958027],[171.70308336757782,159.88720408907542],[171.68312099862047,159.9851574818356],[171.66301943178416,160.0831165567953],[171.64284225944442,160.18106097010596],[171.622597179392,160.2789848288805],[171.60227149556147,160.3768986278807],[171.58187400579226,160.47479660380696],[171.56140261023077,160.57267914744673],[171.54085740885446,160.67054619876257],[171.52023820163714,160.7683976878294],[171.49954508856376,160.86623357460982],[171.47877816961184,160.96405379906625],[171.45793734475512,161.06185829123626],[171.4370014123751,161.15964273907008],[171.4160129756638,161.2574156465922],[171.3949506329877,161.35517266182785],[171.37383318589423,161.4529179077268],[171.35262263134106,161.55064327853958],[171.33133887066558,161.64835233680347],[171.309981503924,161.74604523266842],[171.28855263092498,161.84372145534698],[171.26704765205133,161.9413820265641],[171.24546886707037,162.03902632545731],[171.2238150759222,162.1366541924766],[171.2020893782316,162.2342646264596],[171.1802914748536,162.33185990751858],[171.15841776525966,162.4294386270037],[171.13646984976097,162.52700161431483],[171.11444882774245,162.62454722903965],[171.09235249937296,162.72207592200309],[171.0701841648248,162.81958815196762],[171.04794222398183,162.9170836095333],[171.02561208299508,163.01457870017396],[171.00322252964128,163.11204082309186],[170.98077366398414,163.20947014824952],[170.95824019758297,163.30689750513227],[170.93563032492844,163.40430820066612],[170.91294844585525,163.50170179320114],[170.89019146034107,163.59907822389977],[170.86736156808206,163.69643668193714],[170.84445856893194,163.79377677738825],[170.82148096398583,163.89110143081538],[170.79842995251238,163.98840869176868],[170.77530543448913,164.08569850028564],[170.7520723071173,164.18296339952929],[170.7288006760169,164.2802183632111],[170.70545583822792,164.3774555043441],[170.682074696324,164.47468167909037],[170.65858294526288,164.57188345531324],[170.6350181874119,164.66906713891237],[170.61137952304864,164.76623347022513],[170.58766765192928,164.8633817989891],[170.56388237409138,164.96051222527927],[170.54002368948986,165.05762462909567],[170.51609169812477,165.15471901040078],[170.49208639996613,165.2517952891946],[170.46800779498386,165.34885338547716],[170.44385248326452,165.44589353052342],[170.4196273645976,165.54291516174592],[170.39532893904337,165.63991844045717],[170.37095730659053,165.73690333661963],[170.34651226721286,165.83386978030836],[170.32199412089534,165.9308177314108],[170.2974028676155,166.02774712992704],[170.2727384073508,166.1246579158945],[170.24800074008252,166.22155003931323],[170.22318996578437,166.31842343014569],[170.19827928666328,166.41528397844152],[170.17332549746524,166.5121176629017],[170.14829500201012,166.60893467612547],[170.12319129944262,166.70573273680054],[170.09801448975531,166.8025118248894],[170.07276467290689,166.8992718303545],[170.0474418488936,166.99601274319593],[170.02207241572236,167.09272924351401],[169.99660357733813,167.18943186110803],[169.97106193166155,167.28611504600335],[169.94544717875635,167.38277896831244],[169.91975931862257,167.47942362803536],[169.89399875111016,167.5760486250221],[169.86816497632415,167.67265423946014],[169.8422583942008,167.76924030119952],[169.8161909321212,167.86587984327252],[169.79013873516186,167.96242636961455],[169.76410080361907,168.0588806706006],[169.73790259194377,168.15538798169527],[169.71163137288613,168.2518756201663],[169.68528744631485,168.34834323590115],[169.65887531145714,168.44478876721251],[169.63237477700315,168.54123539167375],[169.60581242797352,168.63764315931266],[169.57912476750772,168.73402045394113],[169.55241690333088,168.83038785614525],[169.52563793123153,168.92673414501334],[169.49878445192618,169.0230612318202],[169.47189507191837,169.11938645208966],[169.44489617728203,169.21567268342432],[169.41782467498206,169.3119384919853],[169.39070475445303,169.40815569869972],[169.36348783676206,169.50438049178848],[169.33614641535237,169.60059539156538],[169.30878388225918,169.69677913925693],[169.28134854140112,169.79294219424992],[169.25384079274443,169.88908446639428],[169.22587330579887,169.985124720933],[169.1986576715216,170.08130528353738],[169.17093229938277,170.17738497728598],[169.14313141931424,170.27344353934853],[169.11526103140562,170.369481207475],[169.0873167362497,170.46549956331523],[169.05930652862594,170.56148468387028],[169.03121871686767,170.65745879352602],[169.00305849712322,170.75341162033322],[168.97482586940015,170.84934318429188],[168.94652063369094,170.94525346547698],[168.91813289125255,171.04114581760075],[168.88968633893708,171.13701184177634],[168.8611637790332,171.2328576444533],[168.83231506191717,171.328817609447],[168.80390113513954,171.42448506137407],[168.77516135096226,171.5202661755054],[168.74634755954142,171.61602798738804],[168.7174633589718,171.71176541567235],[168.68850715008978,171.80748069095816],[168.6594784331016,171.90317436343292],[168.63037760782726,171.9988459529467],[168.6012043743418,172.09449565961197],[168.57197103102055,172.1901191488165],[168.54265348094026,172.28572462959727],[168.5132652217562,172.3813058468922],[168.48380225500242,172.47686689220097],[168.4542671803862,172.57240698454865],[168.42466109691003,172.66792346352295],[168.3949827050202,172.76341751961127],[168.36523150529797,172.858890703001],[168.33540909656205,172.95433986309237],[168.30551467935246,173.0497664401853],[168.27554955334284,173.14516956379228],[168.24551091916342,173.24055091496325],[168.21540017646157,173.33590955317328],[168.1852175252148,173.43124541834734],[168.15496286539687,173.52655844052296],[168.1246335972817,173.62184935067506],[168.09423512025765,173.7171165167788],[168.06376443461747,173.8123607199591],[168.0332219403461,173.90758192006595],[168.00260763740226,174.00278000709937],[167.97192132577104,174.0979549411344],[167.94116160564374,174.19310723269592],[167.9103314766264,174.2882358306591],[167.8794297388166,174.38334099547384],[167.84845699162184,174.47842114691528],[167.81740843639992,174.5734799067832],[167.78629127223533,174.66851483237772],[167.75510209923334,174.76352620497386],[167.72377741258714,174.85850121838493],[167.69244502190276,174.95346546468426],[167.66104102227965,175.0484058878352],[167.62963171835943,175.14333485297448],[167.59808420091147,175.23822776994115],[167.56646517451355,175.33309683372198],[167.5347745391282,175.42794194435442],[167.50301219477788,175.522763161876],[167.47117824141012,175.61756034624918],[167.43924939150654,175.71236678620917],[167.4072753199349,175.80711545312317],[167.3752266394548,175.9018403780138],[167.3431056499873,175.99654135001856],[167.31044829979265,176.09108048314678],[167.27867613064058,176.185835564348],[167.24633891351334,176.28046281743278],[167.21393278735346,176.37506599635668],[167.18145525200362,176.46964468205726],[167.14890620745632,176.56419885457203],[167.11628585367782,176.65872842382595],[167.0835926915232,176.7532356703814],[167.0508257193013,176.8477160846137],[167.01799123768288,176.94217145416016],[166.9850843466496,177.03660173085837],[166.9521092465161,177.13100775313322],[166.91906083690782,177.22538852289728],[166.8859411179183,177.31974428940055],[166.85275018955505,177.41407507260556],[166.81948735205063,177.50838149277467],[166.78615410480495,177.6026619493456],[166.75275104725168,177.6969149320934],[166.7192762811722,177.7911451917302],[166.6857327054451,177.8853497371688],[166.652114820217,177.97952896047164],[166.61842612531137,178.0736823903262],[166.58466582108832,178.16781098703248],[166.55083450725527,178.2619139703655],[166.51693208382352,178.35599137036274],[166.48295865077424,178.45004313698678],[166.44891430808875,178.54406922020004],[166.41469149339446,178.63816998034542],[166.38057890887134,178.73208450914146],[166.3463564223047,178.82599360915032],[166.31202794096174,178.9199166589081],[166.27762864986255,179.01381370521767],[166.2431583490146,179.10768476815403],[166.20861723839164,179.20152977764218],[166.17400521797123,179.29534867371956],[166.13932238773077,179.38914139634875],[166.10404258877725,179.48301766284663],[166.06974429773737,179.57664818126253],[166.03484903793193,179.6703621035471],[165.999883068224,179.76404963234597],[165.96481939068167,179.85771628778375],[165.92971180113122,179.95135092968624],[165.894533401622,180.04495902814054],[165.85928439213154,180.13854052307167],[165.8239647726448,180.2320953744796],[165.78857454313555,180.32562351236436],[165.75311360360004,180.41912492676346],[165.71760695182027,180.5125936983023],[165.6820072903008,180.6060365147179],[165.64633492048773,180.69945722839753],[165.6105920405696,180.7928510085165],[165.57477865050524,180.8862177450748],[165.53889485027207,180.97955737803494],[165.50288474075907,181.07287228835924],[165.46685972018838,181.16615771427308],[165.43076408938518,181.2594158666638],[165.3945982483532,181.3526467553814],[165.3583646970922,181.44585037948835],[165.32211263496507,181.53902503053482],[165.28573556312674,181.63217380845802],[165.24928818098462,181.7252951227456],[165.21277058848622,181.81838883336007],[165.17618268563152,181.91145494033893],[165.1395245724093,182.00449341364467],[165.1027960487783,182.09750414335232],[165.0659974147197,182.19048707934937],[165.02912847024112,182.28344224171082],[164.99211210950915,182.37635408935017],[164.95510284412296,182.46925352432794],[164.9180234682042,182.56212488559513],[164.88087408176793,182.65496821311422],[164.84373149064365,182.74779903808422],[164.80644158310102,182.84058610829464],[164.76908176501834,182.93334508471952],[164.73165663554403,183.02607369563398],[164.69415699624244,183.11877611448773],[164.6565855462172,183.21144995026845],[164.61894748531415,183.30409479102613],[164.58123781411118,183.39671217863568],[164.54345843218437,183.4893009823847],[164.50560883956751,183.58186129246067],[164.46709738955107,183.6742686607219],[164.4297003220311,183.76689581110602],[164.39164119711904,183.8593700397504],[164.35351346153183,183.95181581412172],[164.31531481499962,184.04423241508255],[164.2770462576536,184.13662019225782],[164.23870798944125,184.2289790055726],[164.20030001038134,184.32130890502685],[164.16182222044011,184.4136098006581],[164.12327471958005,184.50588159242884],[164.08465760779364,184.59812426030157],[164.04597078508093,184.6903378043138],[164.00721415143062,184.782522194503],[163.96838820673773,184.87467715068175],[163.92949265103223,184.9668027529625],[163.8905271842992,185.05889896145777],[163.85149250652353,185.15096573590506],[163.81238551749175,185.2430025074669],[163.77321181757466,185.33501026404323],[163.73396870653247,185.4269883666466],[163.69465468493155,185.5189383258394],[163.6552622529974,185.61086074443406],[163.6158106085537,185.70274981523104],[163.57604621375563,185.79477133331847],[163.53669898603974,185.8864383249436],[163.4970394079845,185.97823780370925],[163.45731391830512,186.07000629718948],[163.41751561775214,186.1617458079717],[163.37764800591657,186.2534552447435],[163.3377110827609,186.34513450750484],[163.29770354912895,186.4367858467431],[163.25762830332556,186.5284047413711],[163.21748404618327,186.61999341187618],[163.17728267605128,186.71154745379613],[163.1369983969139,186.80307749680523],[163.0966467135625,186.89459631509007],[163.05622601068976,186.9860630892535],[163.01573529635817,187.07749931966902],[162.9751763705002,187.16890482566166],[162.9344932503922,187.26032568822814],[162.89379680145515,187.3516696757875],[162.8530874238541,187.44293722818972],[162.8122526518681,187.5342197776158],[162.77134966831068,187.625471482619],[162.73037807314435,187.7166922433493],[162.6893337666169,187.8078827213442],[162.64822334818786,187.89904147412878],[162.6070441185662,187.9901703927154],[162.56579257703214,188.0812675584167],[162.5244758241102,188.1723343685701],[162.48309045895684,188.2633685744507],[162.44163608208586,188.35437154620848],[162.40011269348227,188.4453432438434],[162.35852089308227,188.53628349713048],[162.3168605808896,188.6271923161072],[162.27513155687802,188.71806963084862],[162.23333212128767,188.80891608199212],[162.1914658739158,188.8997311281878],[162.14953111436128,188.99051370007322],[162.10752774289034,189.0812645076858],[162.06545595900423,189.17198222095067],[162.023318863089,189.26266786870525],[161.98111265563617,189.35332276237443],[161.93883133653736,189.44394661420824],[161.89648550538686,189.53453834023173],[161.85407146279996,189.62509958183236],[161.81158910758037,189.71562714904778],[161.7690382403169,189.8061226119529],[161.72641906097945,189.89658589047275],[161.6837316695531,189.98701694456983],[161.64097596601533,190.07741571428159],[161.5981518503474,190.1677821496456],[161.55525962255678,190.25811627054932],[161.51229918260222,190.3484179670303],[161.46927052991748,190.43868572908855],[161.42617676545112,190.5289220855615],[161.38301178859226,190.61912540873672],[161.33977989976063,190.70929681700164],[161.296477498544,190.7994352117063],[161.25310838562834,190.88954242142563],[161.20967106003124,190.97961582672227],[161.16616552211644,191.06965639759616],[161.1225922718277,191.15966398385984],[161.0789513092625,191.24963884551326],[161.0352421342821,191.33958061274396],[160.99137505281783,191.42950511918824],[160.94748585314892,191.51938108392343],[160.90357304089667,191.60922349751095],[160.8596802101593,191.69901661360197],[160.81567767301718,191.78879267083158],[160.77156122342555,191.87853555077598],[160.72737716129123,191.96824499607266],[160.68312148655824,192.05792085822162],[160.63880209989722,192.1475649242603],[160.59441500009726,192.2371739656889],[160.54996028771706,192.32674947246977],[160.50543886252032,192.41629081426552],[160.46085052492708,192.50579911115102],[160.4161797745034,192.5952732089389],[160.37142905730173,192.6845692467017],[160.3266616360298,192.77412110074653],[160.28180134728328,192.86349303960392],[160.23687654635006,192.95283249265105],[160.19188123262307,193.04213784213803],[160.14683220612366,193.1314091417649],[160.1016685771123,193.2206737643671],[160.05647252483075,193.30987633912363],[160.01124104954926,193.39901758715948],[159.96590877186733,193.4881524529957],[159.9205092813352,193.57725306403427],[159.87503862134798,193.66643514176707],[159.82944977130174,193.75537708380415],[159.78384844210262,193.84437462052483],[159.73817989997823,193.93333770244786],[159.6924163470718,194.02227204999787],[159.64667257401527,194.11115266012663],[159.60080249302513,194.2000121376193],[159.5548654990197,194.28883692020187],[159.50886129199907,194.37762700798683],[159.4627900719294,194.46638231089918],[159.41665183879945,194.55510279893892],[159.37044658774929,194.64377551210697],[159.3242038261905,194.73242020933947],[159.27786475371477,194.82103581268643],[159.23145896811877,194.9096164410483],[159.18498626938748,194.9981620545001],[159.1384466574647,195.08667250304183],[159.0918402323466,195.17514777663595],[159.04516679398077,195.26358773535753],[158.99842724241586,195.35199250886905],[158.9516187778208,195.4403625482204],[158.90474510006038,195.5286974920242],[158.8578016085499,195.61699578200555],[158.81079460437266,195.7052603058017],[158.76369258644712,195.79348818522536],[158.71655214560596,195.88112162901578],[158.66934530009533,195.96927596774452],[158.6220716412132,196.05739466152573],[158.57476046893873,196.14547764937194],[158.52734188227558,196.23352228749576],[158.47988098325916,196.32153399148433],[158.43234427072562,196.4095096639004],[158.3847384447195,196.49744942223145],[158.33706590523678,196.58535325557747],[158.28932665223633,196.67322105393845],[158.241521685733,196.76105285693944],[158.19365050298669,196.84910802478717],[158.14571463032652,196.93665676685796],[158.09771092327725,197.0243804843789],[158.04962700262115,197.11206793197732],[158.001490868345,197.19971906915325],[157.95330252042257,197.2873338259067],[157.905034353122,197.37489692258873],[157.85669195897674,197.46238844710072],[157.80830356994218,197.54989360886174],[157.75983677289565,197.6373774200242],[157.7113040564213,197.72480943590273],[157.66270532620038,197.81220480653383],[157.61404038505663,197.8995710619919],[157.56530452733162,197.98689311404053],[157.5165078577947,198.0741836788913],[157.46764527240367,198.16143197845753],[157.41871677316482,198.2486433627388],[157.36972246006312,198.3358177916976],[157.3206625540331,198.42354442529253],[157.27153661356573,198.5106459036064],[157.22230595655697,198.59770329118575],[157.17304868822512,198.68473048874222],[157.12372570060793,198.77170627093977],[157.07437591230638,198.85868023318739],[157.02492740201805,198.94559558245157],[156.97540727772105,199.03247358856834],[156.92582173937367,199.1193141392127],[156.87617048696467,199.2061172044971],[156.8264538204828,199.29288275430912],[156.77644428539776,199.37973208395255],[156.72682394521803,199.46630108762844],[156.67691083639755,199.55295377109826],[156.62693321342542,199.63956872875815],[156.57688707606937,199.72614534210823],[156.52677782474905,199.81268472912336],[156.47660325949835,199.89918698062854],[156.42636227974356,199.9856505670364],[156.3760571857396,200.0720761674844],[156.32568687748272,200.15846377238498],[156.27525125494674,200.24481331177572],[156.2247401210986,200.331132699481],[156.17414047001793,200.41740615037696],[156.12351070475694,200.5036417925631],[156.07284832492573,200.58983858697687],[156.02208693071654,200.6759970585183],[155.9712602221645,200.76211729454985],[155.92036679921713,200.84819915559655],[155.86941026183675,200.93424254030845],[155.81838891000845,201.02024740932296],[155.76730244371726,201.10621372275264],[155.71615016294822,201.19214144085998],[155.66493386552997,201.2780247729704],[155.61366495418045,201.36387096480843],[155.5623191298201,201.4496824754863],[155.51090859090687,201.53545519042933],[155.45936652378788,201.62115271469008],[155.40772487172467,201.70689040629793],[155.35612037994264,201.79252217396328],[155.3045172961705,201.8781753011021],[155.25288487737177,201.96373502923495],[155.20108615076973,202.04927397973168],[155.14922290946475,202.1347737344186],[155.09729135367462,202.22023487472066],[155.04530058353365,202.30565775722536],[154.99324089832632,202.39104047557038],[154.9411192980634,202.47638305713065],[154.88893358355497,202.561687662731],[154.83668345380363,202.64695163248422],[154.78436890920685,202.73217602639016],[154.7319910497833,202.8173608940363],[154.67955141396925,202.90234206483427],[154.6270360864528,202.98761204403684],[154.57446448307044,203.07267972432862],[154.52182856411142,203.15770587873573],[154.4691286297144,203.24269087714572],[154.4163644809182,203.32763748963333],[154.3635375171714,203.41254424567373],[154.31064503845553,203.49741109627936],[154.25768844507044,203.5822388409252],[154.20466783635237,203.66702570957386],[154.15158311212136,203.7517712222629],[154.09843417270363,203.83647624902972],[154.04522791854495,203.92114197728677],[153.99195134961627,204.00576833190905],[153.93861086558334,204.09035442049657],[153.88520536628127,204.17489980346195],[153.83173705201364,204.25940528998007],[153.77820512266803,204.34387058035097],[153.72460947804566,204.42829514461218],[153.6709500182291,204.51267920280117],[153.61722284313228,204.5970225263805],[153.56343605354596,204.68132722231252],[153.50958544797413,204.76558930217246],[153.45567232702052,204.8498103754727],[153.40169509086516,204.93399092281334],[153.34765313962816,205.0181312644192],[153.29354837297183,205.1022304995779],[153.23938019078,205.18628831851444],[153.18514849344643,205.2703057712663],[153.13085517999596,205.35428025712116],[153.07650005198113,205.43821591615364],[153.02207800849476,205.52211033027652],[152.96759244955916,205.60596355821474],[152.91304377520052,205.6897756698183],[152.8584318853926,205.7735465951247],[152.80375678008292,205.857276194134],[152.7490184592902,205.9409645168461],[152.69421692298073,206.02461147326107],[152.63935227113194,206.10821700334145],[152.58442440380017,206.19178125712463],[152.5293409145606,206.2752871192618],[152.47428731600021,206.3587681201883],[152.4192626081303,206.44222429027903],[152.3640827783601,206.52562208853624],[152.30878063294602,206.6089781926588],[152.25347297186113,206.69229250884678],[152.1981632951089,206.77556504578774],[152.1427317026678,206.858795768444],[152.08723369432386,206.9419840960032],[152.03161427114227,207.0251328790901],[151.97599414158196,207.10826465244068],[151.9203112861924,207.19132755930858],[151.86456581501224,207.27434836965438],[151.80875932803016,207.35732705287808],[151.75288851557517,207.44023782021904],[151.6970180960739,207.52312979741131],[151.64102346094765,207.6059801311814],[151.5849650105934,207.68878986887933],[151.5287895445387,207.7715577604551],[151.47260606238208,207.85428271503386],[151.41641726429586,207.93696519160312],[151.3601086502656,208.01960517310027],[151.30319316393044,208.10231912217927],[151.24730467430078,208.18475742611594],[151.19080921234752,208.26726964767192],[151.1342512343524,208.34973910266837],[151.07763114034918,208.4321658809553],[151.0209200371724,208.51456821336885],[150.96417531110802,208.59690951838667],[150.9073685690318,208.67920813665745],[150.8504996107787,208.76146362825625],[150.7935686363938,208.843676113108],[150.73657554586575,208.92584556125018],[150.67951863942724,209.00797259332035],[150.62240141192925,209.09004347800695],[150.56525217034854,209.17207681469614],[150.50801271481672,209.25407296521286],[150.45070974335187,209.33602663954503],[150.39334495564268,209.41793700705517],[150.3359183516816,209.49980404774334],[150.27842983143492,209.58162767164703],[150.22087960570633,209.66343668868916],[150.16326775268212,209.74517292883638],[150.10559408333853,209.82686566216162],[150.0478562974095,209.9085141795274],[149.9900593953559,209.99011970905872],[149.9322007769342,210.0716816017305],[149.87428074209933,210.15319973743033],[149.81629909084756,210.23467410623317],[149.75825592316016,210.31610465810155],[149.70015133901836,210.39749134299802],[149.64198533840343,210.4788341109225],[149.5837597214877,210.56013342119996],[149.52547088787023,210.64138820518053],[149.46712063772708,210.72259893218916],[149.40870917104328,210.80376556215083],[149.35024058708726,210.88488614352818],[149.29170658726215,210.96596441943348],[149.2331113708476,211.04699846829183],[149.17445493785118,211.12798831010326],[149.11573768820153,211.20893375471778],[149.056959221865,211.28983471228534],[148.99811943888278,211.3706912928435],[148.93921863924365,211.45150346627972],[148.88025692291006,211.53227113255656],[148.82103183029125,211.6131020876037],[148.76214954079722,211.6936746440818],[148.70300497432788,211.77430864891787],[148.64379949108533,211.85489793659457],[148.58453309106585,211.9354424971118],[148.5252059742432,212.0159422603947],[148.4658178406961,212.09639743655566],[148.40625136615162,212.1767433195867],[148.3467422988631,212.25710854109138],[148.28717251476385,212.3374289453617],[148.22765903767691,212.4177680385182],[148.16796781969003,212.49799809831978],[148.108215684735,212.57818292096198],[148.04840333288672,212.6583227061823],[147.9885306640627,212.73841723401827],[147.92859737829673,212.81846659458236],[147.86849106709923,212.8984481700261],[147.8084361471869,212.9784064961965],[147.74832181039253,213.05831981464502],[147.68814635681372,213.13818838600912],[147.62802369442997,213.21803346757494],[147.56772840647216,213.2978103838704],[147.50737290141865,213.37754172274407],[147.44695977714667,213.45722182322123],[147.38648393783043,213.53686181721372],[147.32594878133963,213.61645602344686],[147.2653527077344,213.69600460252065],[147.20469651695842,213.77550740413514],[147.1439804089892,213.8549643682153],[147.08320428380046,213.93437542479865],[147.02236814139974,214.01374059388516],[146.96147208176828,214.09305982543736],[146.90051630481605,214.1723328793803],[146.8394999106106,214.25155993605136],[146.77842429914438,214.33074097492567],[146.71727877169306,214.4098794000154],[146.65608192660918,214.48897081434592],[146.5948269631919,214.5680133504673],[146.53351228239384,214.64700954897938],[146.47213788424128,214.7259594798822],[146.41070396869296,214.80486303310073],[146.34921043573007,214.88372015867247],[146.28765738534145,214.96253082655994],[146.22604481750076,215.04129496676316],[146.16437283219682,215.12001254924456],[146.10264142941455,215.19868353400426],[146.04085130897772,215.2773074507797],[145.9789988724578,215.35588849092056],[145.9171011156161,215.4344153480527],[145.85513244272943,215.51289943177537],[145.79310455228196,215.59133669770125],[145.73101884327232,215.66972447530554],[145.66887251765826,215.74806798563793],[145.60658260062675,215.82643440981857],[145.54431694023611,215.90468520489486],[145.48207723554503,215.9828178602295],[145.41969653825882,216.06097028843766],[145.35725482442444,216.13907859952383],[145.29475419289423,216.2171397327008],[145.23219464364945,216.29515363796853],[145.1695734764503,216.37311967633957],[145.10689609175012,216.4510390557889],[145.04415988930162,216.52891111729144],[144.9813648690523,216.60673572084733],[144.9185038313664,216.68451383915644],[144.85559107548542,216.7622434468564],[144.79261990180356,216.83992559645964],[144.72959011027964,216.9175601780412],[144.66650170088363,216.99514711160106],[144.60335467361176,217.07268638713924],[144.5401491284453,217.15017795461821],[144.47688516536547,217.2276217640005],[144.4135627843123,217.30501765528615],[144.35018028557462,217.38236639911253],[144.28674096867223,217.4596667142423],[144.223246733605,217.53691859996292],[144.15968638066246,217.61412283047434],[144.09607590970847,217.6912790397766],[144.03240342080386,217.76838739233216],[143.96867271385466,217.84544763671607],[143.90488368889459,217.92245986296584],[143.84103674580737,217.99942376093145],[143.7771342843866,218.07633877971293],[143.71317110510137,218.15320617126025],[143.64914930774904,218.23002539478588],[143.58506999220205,218.30679610987738],[143.52093275849793,218.38351841668475],[143.45674110668517,218.4601924438955],[143.392487936588,218.5368177241721],[143.32817704830745,218.61339452608956],[143.26380834179474,218.6899227196854],[143.19947981704675,218.76640227820974],[143.1349938740511,218.8428332057623],[143.07045021278205,218.91921541495577],[143.00584893322085,218.99554885575265],[142.94118993513123,219.07183289819045],[142.87647341894444,219.1480686921941],[142.81158180225623,219.22430318186022],[142.74674984942516,219.30044127914564],[142.6818604782156,219.37653037795945],[142.6169087595506,219.45249294014468],[142.55190465134046,219.52848339197783],[142.48696193567852,219.60445396078745],[142.42184329079402,219.68034663556492],[142.3566674274636,219.75619013179582],[142.29143424584095,219.83198485951758],[142.22497944562554,219.9077302353419],[142.1607962267479,219.98342541932146],[142.09539088942748,220.05907165159104],[142.0299290335861,220.13466850505156],[141.96435505916386,220.21021583055295],[141.8987782761581,220.28574026710598],[141.83314476468263,220.36118879492682],[141.76745443460746,220.43658773405105],[141.7017070860113,220.51193729455372],[141.63590291868798,220.5872369263599],[141.57004193329738,220.6624883894694],[141.5041241286396,220.73768848388244],[141.4381477947585,220.81281066023848],[141.3721789529156,220.8879116037835],[141.30609109253362,220.96296313195685],[141.23994021241987,221.03796205375892],[141.17373921514218,221.1129152143516],[141.10748169817725,221.18781588613547],[141.0411675624551,221.2626665491478],[140.9747970079232,221.33746706331362],[140.9083699345478,221.41221733867047],[140.84188644238515,221.48691752518073],[140.77534643157028,221.561567982882],[140.70875020091813,221.63616555166192],[140.6420977522025,221.71071496152018],[140.57539418460172,221.78521402054446],[140.50862893190777,221.8597528427034],[140.44180749266792,221.934060885916],[140.37492966829328,222.00840858027578],[140.30799592498886,222.08270580560156],[140.24100622614827,222.15712161191897],[140.17396028143693,222.2311484393012],[140.1068583811482,222.30529373767504],[140.03970046189215,222.3793884670524],[139.97248674651382,222.453493547354],[139.905216994007,222.5274996286625],[139.83789151705787,222.60144054086305],[139.77051002092398,222.67533030406716],[139.7030728065353,222.74917139816213],[139.6355798731043,222.82296172314815],[139.56803122040978,222.89670068902524],[139.50042684857544,222.97038862579336],[139.4327668526776,223.04401240341593],[139.36505134020118,223.1175919818541],[139.2972802107487,223.1911263011454],[139.22938406218003,223.2646096673152],[139.16150169433547,223.33804162831365],[139.0935636073061,223.4114224402031],[139.02557050091562,223.48475163272116],[138.95752197537035,223.5580297560178],[138.88949183054132,223.631256452418],[138.82133286642386,223.70443173712175],[138.7531186830166,223.7775555925291],[138.6848492802445,223.85062781864002],[138.61652475812633,223.92364846541702],[138.5481450166508,223.9966175028976],[138.4797104557917,224.0695348609318],[138.41122057554898,224.14240053970707],[138.34267577580644,224.21521422907347],[138.2740753567441,224.28797640929344],[138.20542061829065,224.3606868898795],[138.1367102603336,224.4333453713192],[138.06794578290666,224.50595194304998],[137.99912648599485,224.57850656533435],[137.93025246957944,224.6510091881349],[137.8613236244767,224.72343532149074],[137.79234018641654,224.79588024532023],[137.72330131136658,224.86822653993164],[137.65420711678306,224.94052075528413],[137.58505979439707,225.0127408405543],[137.5158580606562,225.08493065622656],[137.44660170730668,225.1570681923775],[137.37729093433356,225.229153408932],[137.30792584171803,225.3011862558527],[137.2385826294435,225.37316667456457],[137.16911059756933,225.44509485158005],[137.09958424594402,225.51697036896167],[137.03000367462377,225.58879337667193],[136.96036878358242,225.66056380474836],[136.8906797728049,225.73228161311596],[136.82093664228373,225.8039467817747],[136.75113821828288,225.87536268115093],[136.68128802194292,225.9471190199657],[136.6113827320858,226.01862598942296],[136.54142342242122,226.09008014913388],[136.47141009293424,226.16148145909847],[136.40134294360234,226.23282985924175],[136.33122187442177,226.3041253396012],[136.26104698536625,226.37536783013934],[136.19081837642835,226.44655731081866],[136.12053594758922,226.51769373167667],[136.05019989883394,226.58877705263842],[135.97974073015234,226.6598072597663],[135.90929744152342,226.7307842709354],[135.83880053292955,226.8017080522082],[135.76831930434338,226.87257851759728],[135.69771535578212,226.94339573900248],[135.62705788721465,227.01415962047395],[135.55633779981915,227.08487330542386],[135.48557339288178,227.15553488698993],[135.41475566426945,227.22613867854747],[135.34388471556844,227.29668891005878],[135.27296034678244,227.3671855915988],[135.20198285771647,227.43762820305506],[135.1309532485392,227.5080171940526],[135.05986951940454,227.57835297534132],[134.98856693627414,227.64854480868996],[134.91737748949566,227.71883355961944],[134.84602587738502,227.78894812134848],[134.7748929013339,227.859158801096],[134.7036528713392,227.92922565097848],[134.63225111920087,227.9992334815025],[134.56080754733682,228.06918871770523],[134.48930045662598,228.13909370772393],[134.41774034565393,228.20894467762136],[134.34612731440563,228.27874158736006],[134.2744607628324,228.34848430716505],[134.2027426909828,228.41817296628628],[134.1309717988045,228.48780742521132],[134.05914848628615,228.5573876537901],[133.98727255343155,228.62691366209765],[133.91534610020304,228.69638534934649],[133.84336602653335,228.76580253669914],[133.77133273254617,228.83516555400553],[133.69924691813648,228.9044741210032],[133.62710888331176,228.9737282575797],[133.55491862804575,229.04292789373494],[133.4826761523272,229.11207299946904],[133.41038135613738,229.1811635248194],[133.33803443946127,229.25019942971107],[133.26563310228775,229.31918068500653],[133.19318214462027,229.3881072989058],[133.12067906640277,229.45697912234638],[133.04812356753771,229.5257958954408],[132.97550994830306,229.5945583603265],[132.90272363388428,229.66333369997366],[132.8301400480514,229.73191856358437],[132.75737726697858,229.80051615439402],[132.68455686592986,229.8690604868074],[132.61169054364444,229.93754819643723],[132.5387725020314,230.00598437545813],[132.46579823851116,230.0743621455581],[132.39277695421174,230.14268451328695],[132.31970414992097,230.210953580332],[132.24657982421388,230.2791655466935],[132.1734039777842,230.34732226237136],[132.10018371061645,230.4154236847031],[132.02690512269658,230.48346977890117],[131.95357071393443,230.55146030402807],[131.88018858464815,230.61939610704633],[131.80675583522424,230.68727821904326],[131.73327206416647,230.7551026501693],[131.65973717172233,230.82287006046175],[131.58615115839808,230.8905817999206],[131.5125213245832,230.95823890580823],[131.4388330701662,231.02584108359974],[131.3650937944191,231.09338639052015],[131.29130359823438,231.1608772065319],[131.2174648803256,231.22831010073514],[131.1435686420809,231.29568877650468],[131.06962938315803,231.36301231840304],[130.99563560383152,231.4302814607427],[130.9215909026274,231.49749227217393],[130.8474972805655,231.5646474719465],[130.77335123770985,231.63174723137297],[130.699154473854,231.6987909998158],[130.6249071888218,231.7657783072001],[130.5506092829057,231.83270993356325],[130.4762616552806,231.89958367856795],[130.40180058140362,231.96633410610622],[130.32741713835733,232.03316673453878],[130.2529173481518,232.09987362659263],[130.17836413653015,232.16652341867538],[130.10376360351054,232.23311615849963],[130.02911584979432,232.29965371602776],[129.95441497504814,232.36613520347225],[129.87966287913684,232.43256026012068],[129.80486176204153,232.4989288351481],[129.73000992366482,232.5652406691919],[129.65510846405917,232.63149590183968],[129.58015758289451,232.69769365301644],[129.50515618095469,232.76383601313455],[129.43010685803705,232.82992244121908],[129.35500551357936,232.89595143880763],[129.27985324767528,232.96192325548765],[129.20465226086094,233.027839320434],[129.12940165252135,233.0936979939844],[129.05410122285906,233.15949981621378],[128.97875117186283,233.22524475704705],[128.9031780274137,233.29074053152272],[128.82790180571845,233.3565635946756],[128.75240299054406,233.42213742128334],[128.6768547541069,233.48765455642],[128.60125759629824,233.55311470989818],[128.52561041700565,233.61851758213032],[128.4498480170212,233.68386529756623],[128.3741020049606,233.74918080685444],[128.29830666132858,233.81441213463603],[128.22246329621242,233.87958618042163],[128.1465697096499,233.9447030450362],[128.07062679132835,234.00973522814417],[127.99469986100573,234.07473540525442],[127.91865890984116,234.13968002511848],[127.84256903711758,234.20456716332404],[127.76643004287249,234.26939691994613],[127.69024222699338,234.3341689948722],[127.61400548959276,234.3988836881398],[127.53772093055804,234.4635406993364],[127.46138654992686,234.528140129212],[127.38500324766166,234.59268187742913],[127.30857132372493,234.6571658438753],[127.23209067815417,234.721592128588],[127.15548392640478,234.7860019605892],[127.07898352199803,234.85027135270042],[127.00181865318791,234.91463579399192],[126.92568217900572,234.97871904961647],[126.84895912496472,235.04285612521184],[126.77218734917719,235.1069352190737],[126.6953671515306,235.17095603108964],[126.61847133427688,235.2349245714592],[126.54154549778778,235.29884182308234],[126.46458053493902,235.3626887893729],[126.38756735030617,235.42647767374248],[126.31050614381425,235.49020827611616],[126.23339671550077,235.55388069656885],[126.15623926536571,235.61749493502566],[126.07903369333408,235.68105079152397],[126.00178759468034,235.74453566321478],[125.9245148766785,235.80796894488418],[125.8471657389571,235.8713496552072],[125.76976877933909,235.93467198345934],[125.69232369767451,235.99793552975308],[125.61483149411329,236.06114069371336],[125.5372911686555,236.1242874757152],[125.45970332122609,236.18737567553364],[125.38206775182508,236.25040529324366],[125.30438466045246,236.31337632877026],[125.2266541470332,236.37628858207594],[125.14887591167987,236.4391423532732],[125.07092084450152,236.50191129077632],[124.99273477073942,236.56466271490552],[124.91481526909614,236.6273397390651],[124.83693011990053,236.68988995033362],[124.75914529387283,236.75250192398542],[124.68121203583064,236.81502855329308],[124.60310264585088,236.87747004864408],[124.52494613378698,236.9398526616617],[124.44674259952644,237.00217609230845],[124.36849194314425,237.06444054062183],[124.29019446464041,237.1266460064893],[124.21184986390242,237.18879219002338],[124.13345834096776,237.25087919114912],[124.05499220138839,237.31292182025288],[123.97653502839596,237.37487534598796],[123.89800313879633,237.4367845997386],[123.819424426925,237.49863447104337],[123.74077041459668,237.5602164705669],[123.66212713640485,237.6221561660903],[123.58340845771852,237.68382788986997],[123.504643356723,237.74544013105378],[123.42582333450636,237.80699579282907],[123.3469631903551,237.86849296964593],[123.26805782254458,237.92992706341718],[123.18908682290123,237.99127628179434],[123.11007541309823,238.0525984153234],[123.03106548469518,238.11387094829342],[122.9519757273103,238.17506621119384],[122.87283964746621,238.23620159146094],[122.79365724516293,238.29727708909468],[122.7144292205879,238.35829320383255],[122.63515477344117,238.41924913597467],[122.55583440379772,238.48014508533345],[122.47646801169506,238.5409811519464],[122.39705579709566,238.60175723573855],[122.3176096570362,238.66246543224793],[122.23810539736836,238.72312135054844],[122.15855571524126,238.78371738587813],[122.07896021065494,238.84425353838702],[121.99931918342185,238.90472930796258],[121.91963243361702,238.96514489467984],[121.83990016124045,239.02550029846384],[121.76012226629211,239.08579551935202],[121.68029894873453,239.1460304572694],[121.60043010853019,239.20620501225346],[121.52042102712329,239.26626971982017],[121.44050123386013,239.3263027939017],[121.36055105211159,239.386366579381],[121.28050132090766,239.44629850218203],[121.2004082670193,239.50616994122475],[121.12026769085934,239.5659819980841],[121.0400818920526,239.6257336718977],[120.95943789884097,239.6849670174974],[120.87957512616126,239.7450549702001],[120.79925435896415,239.80462429461392],[120.71888896904522,239.86413303575694],[120.63847825644203,239.9235812938917],[120.55802262107953,239.98296886886817],[120.47752206295775,240.0422957606864],[120.39697678200164,240.10156176927137],[120.31638687821123,240.16076689458555],[120.23575205169902,240.21991143674148],[120.15507280212748,240.27899449555173],[120.07434743005922,240.33801757165367],[119.99357893485654,240.39697896392235],[119.91276561708207,240.45588017299528],[119.83190817613576,240.51471959861],[119.75100631228008,240.573497940879],[119.67006012547759,240.63221509976475],[119.58906961576575,240.69087117526726],[119.50803508295705,240.74946566727408],[119.42695672757648,240.8079999757101],[119.34583434887406,240.86647210065047],[119.26466704729984,240.92488324243254],[119.18345552277879,240.9832332007939],[119.10220007519834,241.0415216756221],[119.02090060459605,241.09974876695455],[118.93955721097188,241.1579144747538],[118.85816989428838,241.2160186990198],[118.77673625480816,241.27406214065255],[118.6952611920059,241.3320433978147],[118.61374180655679,241.38996427159347],[118.53217949756078,241.44782236146415],[118.45057326546787,241.50561886780167],[118.36892361027806,241.56335379041846],[118.2872302319164,241.62102692942705],[118.2053321988192,241.67855414517078],[118.12355297400116,241.73610341636302],[118.04188965772494,241.79367544409126],[117.96002038675081,241.8511016490421],[117.87810989252964,241.90846586944724],[117.79615507577412,241.96577000646909],[117.71415803517161,242.02301055932037],[117.6321177713222,242.080189128376],[117.55003428426338,242.13730581363595],[117.4679077739201,242.19436041502524],[117.38573364044274,242.25135333426877],[117.30352118356811,242.3082838678792],[117.22126490367162,242.36515301791894],[117.13896650019063,242.42195928375054],[117.05662757316254,242.47870276477403],[116.97424332303768,242.53538466278928],[116.8918117494787,242.59200407854644],[116.80934165274746,242.64856170874538],[116.72682823269434,242.70505715518618],[116.64427328913166,242.76148991719387],[116.56167882209682,242.81786009401839],[116.47903833170275,242.87416798809727],[116.39635261704943,242.93041119913067],[116.3136276798989,242.98659442486826],[116.23086271980122,243.0427164656101],[116.14805293574426,243.09877462315643],[116.06519972802789,243.15476969698219],[115.9823032962396,243.2107005870124],[115.89936914244151,243.26657279118416],[115.81639046445912,243.32238051204797],[115.73336966296722,243.37812554870365],[115.65030743781578,243.43380750088875],[115.5672037887798,243.48942576860327],[115.48406031687166,243.54498305124707],[115.40087192096675,243.6004763507328],[115.31764200140228,243.65590656578547],[115.23436995874083,243.7112751966299],[115.15105749260726,243.76658124262875],[115.06770120262684,243.821823705057],[114.9843030890244,243.87700318316467],[114.90086335179993,243.93211967687674],[114.81738209091591,243.9871730861557],[114.7338592064099,244.04216351103906],[114.6502951979818,244.0970901513394],[114.5666908658566,244.1519536067566],[114.48304371029694,244.20675457822819],[114.39935503111525,244.26149256526665],[114.31562512816151,244.31616716775957],[114.23185480184819,244.37077948540684],[114.14804255142533,244.4253275187711],[114.06418897726792,244.47981226762727],[113.98029427937595,244.53423373190034],[113.89635855771193,244.58859181155285],[113.8123823121258,244.64288610639733],[113.72836464288014,244.6971173167712],[113.6443059498624,244.75128514252447],[113.56020633299758,244.80538938361974],[113.47606599228568,244.8594300399819],[113.39188442776423,244.9134072117985],[113.30766243943316,244.96732089876957],[113.22339982721749,245.02117090097005],[113.13909649111724,245.07495721843748],[113.05475263113239,245.12867985109688],[112.97023708430979,245.1821709481224],[112.88571919549972,245.23581674603707],[112.80134804532946,245.28929888891332],[112.71697215215943,245.3429330335789],[112.63236017339366,245.39633896676037],[112.54775467992746,245.4497056975071],[112.46312765256286,245.50298203632263],[112.37825335876578,245.55608126785046],[112.29345631161317,245.6093048704196],[112.2087098121821,245.66238905402358],[112.12374053147914,245.71552322117387],[112.03947694448931,245.7683738236696],[111.95460977299187,245.82126585251203],[111.86970267749729,245.87409389632137],[111.78475575789307,245.92685765506025],[111.69974321620599,245.97956253840317],[111.61470995273291,246.03220932951268],[111.52964336091225,246.084780533115],[111.44453034588238,246.1372898541216],[111.35938280711748,246.18973588807017],[111.27419734300531,246.24211433623594],[111.18897255467095,246.29442819914368],[111.10370854222691,246.346677776756],[111.01841150128523,246.39885136674857],[110.93309503851998,246.45096676402022],[110.8477125536344,246.503023186046],[110.76229034445166,246.55501482296378],[110.67682941115919,246.60694217439857],[110.59132905368205,246.65880504061283],[110.5057896719452,246.71060322145667],[110.42021126598614,246.76233681692997],[110.33459383576738,246.8140057270328],[110.24893927986378,246.86560615105293],[110.16325190015002,246.9171430873775],[110.07751779715211,246.96861794121887],[109.99174506978194,247.02002780953978],[109.90593311811462,247.07137289256525],[109.82008244218754,247.12265329010773],[109.73419324185072,247.17386860209226],[109.64826541714167,247.22501892855632],[109.56229886824786,247.2761047695374],[109.47629439486931,247.3271253247355],[109.39025079723105,247.37808119460067],[109.30416877510802,247.42897177887036],[109.21786853803788,247.4798225449677],[109.13170976724535,247.530583358009],[109.04551277200558,247.58127898537984],[108.95932323319036,247.63185840994635],[108.8731837993216,247.68245101572447],[108.78687203085252,247.73295138612144],[108.70052213793618,247.78338657081048],[108.61413412057257,247.83375656979155],[108.52770897853662,247.88406078268974],[108.44124511220346,247.93430021010494],[108.3547433213855,247.98447435173722],[108.26820350615775,248.03458340762404],[108.18162666618265,248.08462647739046],[108.09501140183531,248.13460456156145],[108.00835851289067,248.184517059837],[107.92166779946122,248.2343642722921],[107.834939461397,248.2841457988518],[107.7481196174019,248.3336448597063],[107.66136891181415,248.38351299465992],[107.57452810007048,248.43309806338334],[107.4876495639545,248.48261814624885],[107.40073470350362,248.53207334273134],[107.31378161793049,248.58146155354353],[107.22679140772249,248.63078407827282],[107.1397635728422,248.68004081710671],[107.05269891332705,248.72923186974515],[106.9655981295895,248.77835833592565],[106.87845882080468,248.82741801654834],[106.79128268731002,248.87641181097558],[106.70406972906801,248.92533961920742],[106.61681994611611,248.97420154124393],[106.52953313849187,249.02299767716],[106.44220960608277,249.07172772684316],[106.35484934896381,249.1203918902935],[106.26745226705998,249.1689899675484],[106.18001866044625,249.2175221584954],[106.09254862874765,249.26598746309713],[106.00504177252668,249.31438738150337],[105.91749839155834,249.36272131360175],[105.8299184857676,249.41098905939228],[105.74230225515448,249.4591906187999],[105.65464959971895,249.50732599186216],[105.56667586360619,249.5552462853143],[105.4789519584883,249.60324918508582],[105.39147398421552,249.65133429263926],[105.30367752930283,249.69920441960755],[105.2158437496053,249.74700846056797],[105.12797384504785,249.79474621507052],[105.04006801559298,249.84241758304023],[104.9521261612032,249.89002246451457],[104.86414838195348,249.93756105945604],[104.7761353775813,249.98503266760218],[104.68808584846175,250.03243828944045],[104.60000059436976,250.07977732467089],[104.51187961538031,250.12704997329348],[104.42372421115583,250.17425533482074],[104.33553158214653,250.22139461030264],[104.24730372820227,250.26846739898917],[104.15903804947318,250.31547410185533],[104.07073914550902,250.36241351717618],[103.98240461664739,250.4092865458517],[103.8940348626633,250.4560925877319],[103.80562988366921,250.50283194281673],[103.71718957959018,250.54950441114374],[103.62871395053868,250.59611029271298],[103.5402046972646,250.64265158688664],[103.45165891800562,250.6891235947527],[103.36307811369917,250.7355288157484],[103.27446218430772,250.7818671499113],[103.1858113298313,250.82813859716637],[103.09712555015736,250.87434285751362],[103.00840494539844,250.9204802309156],[102.91964951551702,250.9665506173722],[102.83085936047559,251.01255391684603],[102.74203438031164,251.0584902293745],[102.6531747749502,251.10435935488272],[102.56428064442872,251.15016139333312],[102.47535178870973,251.1958962448007],[102.38638920738067,251.24156280891057],[102.29739360107898,251.28716278540008],[102.20836186972988,251.3326959754318],[102.1192952131083,251.3781617785557],[102.03019423132667,251.4235604945468],[101.94105912430999,251.4688919233301],[101.85188979205827,251.51415606494308],[101.76268613453401,251.55935281942328],[101.67344455181248,251.60448238812072],[101.58417204430565,251.64954586841026],[101.49486621100124,251.6945405611921],[101.40552665234925,251.73946766661618],[101.31615326838717,251.78432728471998],[101.22674595907753,251.829119315541],[101.13730482445783,251.87384385904176],[101.04782956456557,251.9185010153347],[100.95832097928822,251.9630904841199],[100.86877366930112,252.00761406742217],[100.77919663426617,252.05207086186664],[100.68958717287106,252.09645736846602],[100.59994418612834,252.14077628763263],[100.51026757415055,252.18502791940395],[100.42055773660014,252.22921136363004],[100.33081557317706,252.27332581997345],[100.24103858470649,252.31737348937153],[100.15122757085084,252.36135347152435],[100.06138463161,252.4052657656444],[99.97150736758412,252.44911197263158],[99.88159826742303,252.49288849155238],[99.7916561518018,252.53659712284917],[99.70167978049555,252.580237266987],[99.61167163637909,252.62378992303348],[99.5216318239274,252.6672936909521],[99.43156439515269,252.71072726922188],[99.34145809166829,252.75409496206504],[99.2513190426487,252.79739456718295],[99.16114278801932,252.84062588624812],[99.07093958792937,252.88378931541308],[98.98070283230433,252.9268846571565],[98.89043351106912,252.96991171110722],[98.80013287411117,253.01287017679653],[98.70979338150602,253.05576025705182],[98.6194267234778,253.09858254748937],[98.5290282199519,253.1413368498642],[98.43859716077831,253.18402276444255],[98.34813404599456,253.22664039103688],[98.2576386655631,253.26918962972604],[98.16711286955885,253.31167067981622],[98.07655331749451,253.35408224256],[97.98596615169467,253.39643051565446],[97.89534495897227,253.43870700150396],[97.80469057030226,253.48091429979704],[97.71400313534713,253.5230515104775],[97.62328939680638,253.56512583101738],[97.53253835111832,253.60712776554234],[97.44175561970755,253.64906111194458],[97.35094218313648,253.69092736985652],[97.26009617031775,253.73272363997958],[97.16921869170129,253.77445112189747],[97.0783096573621,253.81611001564391],[96.98736916730016,253.85770032118143],[96.89639734144048,253.899221838465],[96.80539326993312,253.94067496783583],[96.71359279008183,253.98202599585198],[96.62253016671619,254.02334084717],[96.53197325335263,254.06449560883593],[96.44106787427593,254.10579520118637],[96.34990881370474,254.14690418865382],[96.25871873737326,254.1879444877473],[96.16747501689561,254.22892040695274],[96.07621705885651,254.26982283149212],[95.98493401494424,254.3106562654338],[95.89327658910854,254.3511646397456],[95.80193357378808,254.3918609961669],[95.7109005080832,254.4327429363704],[95.61949464067975,254.4733004163514],[95.52805817740352,254.51378890780103],[95.43659117825449,254.55420841069667],[95.34512353135554,254.59455391383005],[95.25359571034839,254.6348351395241],[95.16203772343091,254.67504727652556],[95.07044918056563,254.7151902249806],[94.97883027175254,254.755263984818],[94.88718120699161,254.79526855595893],[94.79550193628289,254.83520393842224],[94.7037925596263,254.87507013217038],[94.61198957770135,254.91486896101569],[94.5202016790379,254.95459648419975],[94.42840228438781,254.99425471168996],[94.33657273375239,255.03384365048376],[94.24471429709405,255.0733632001049],[94.15282504433794,255.1128131612772],[94.06098847495318,255.15219210268825],[93.96888891168685,255.19164074272672],[93.8769113608246,255.23088243699607],[93.78505346251659,255.26991758638127],[93.69301596960865,255.3090205031191],[93.60094897056534,255.34805373091677],[93.50811724592586,255.38701884548118],[93.4167266642976,255.425911719613],[93.32457146703564,255.4647363804703],[93.23238738367577,255.503491452155],[93.14017359418055,255.54217683497453],[93.04792753873765,255.58079302988892],[92.95565408704672,255.61933923507195],[92.86335235910784,255.6578154508536],[92.77102198510852,255.69622217737265],[92.67866267489879,255.73455901473784],[92.58627438859115,255.77282626296417],[92.4938572261481,255.81102382201408],[92.4014112474571,255.84915139186518],[92.30893650263069,255.88720927249864],[92.21643291159386,255.92519726394454],[92.1239007643841,255.963115466094],[92.0313400109264,256.0009636789659],[91.93877447133158,256.0387421936277],[91.84615718537796,256.0764504276894],[91.75351125328892,256.1140889724885],[91.6608369349519,256.15165752792745],[91.56813800987919,256.1891547925889],[91.47540710904626,256.22658336923644],[91.38264793192788,256.2639418564826],[91.28986057852403,256.30123025429],[91.19704509887221,256.3384486626397],[91.10420159289743,256.37559688149435],[91.01132997067465,256.4126751108877],[90.91843038212892,256.44968315076335],[90.82550287726018,256.4866210011027],[90.73254749610597,256.52348876189075],[90.63956430859125,256.56028623310124],[90.54641629448818,256.5969861661147],[90.45337768432749,256.6336432580987],[90.36031147776876,256.6702299604264],[90.26721768488704,256.70674647309403],[90.1740963756073,256.74319259607535],[90.08108240053257,256.7795965788035],[89.98790595853181,256.81590212244964],[89.89470213013303,256.8521372763607],[89.80147096533624,256.88830204051794],[89.70821272429139,256.92439681482387],[89.61492675662356,256.96042059952225],[89.52161389255765,256.9963739943018],[89.42827642370602,257.0322612983035],[89.33490943715647,257.0681814133766],[89.24151540400894,257.10392393857967],[89.14809441442586,257.13959597388646],[89.0546465683697,257.1751974192594],[88.9611706360281,257.21072877515974],[88.86766898721334,257.2461895406988],[88.77414009177555,257.28157931645035],[88.68058501978966,257.3168983020131],[88.5870033114057,257.35214689755946],[88.49339502639866,257.38732450306713],[88.39976020491854,257.42243151852097],[88.30609850647784,257.45746664404857],[88.21241077163904,257.4924313793349],[88.11869667051464,257.52732602450357],[88.02495101269254,257.562149481501],[87.93118420850945,257.59690264642336],[87.83739000774086,257.63158492161443],[87.74357032072409,257.66619720635794],[87.64972462682172,257.7007378008489],[87.5558532161837,257.73520710497866],[87.46195730895998,257.7696055182896],[87.3680328153008,257.8039334423155],[87.27408356501842,257.8381903756201],[87.1801084783754,257.8723770186084],[87.08610761488427,257.90649207125796],[86.99208102413249,257.9405344335501],[86.89803057735742,257.97450740478337],[86.80395268395937,258.0084093863041],[86.70985736393757,258.04224037435483],[86.6157284472557,258.0760002749993],[86.52157406387568,258.10968898518865],[86.42739428387247,258.14330670489676],[86.33318911717113,258.1768532341199],[86.23895754249669,258.2103251732408],[86.144701802399,258.24372932141887],[86.0504214555281,258.2770620788194],[85.95611537203405,258.31032384586626],[85.86178421157933,258.34351372231185],[85.7674293746513,258.3766330076312],[85.67304870170017,258.4096829026341],[85.57864260133837,258.44265970716714],[85.48421164420337,258.4755651210164],[85.38975586037019,258.5083993441707],[85.29527530972628,258.5411620766074],[85.20077141234655,258.57385351779425],[85.1062420183437,258.6064739685372],[85.0116871173427,258.63902242884024],[84.91710803013093,258.6715009982082],[84.82250441554595,258.70390657676876],[84.72787638426274,258.73624096448054],[84.63322376616881,258.76850386140734],[84.53854702115164,258.80069496737667],[84.44384593943623,258.83281488246723],[84.34912068087256,258.864863206619],[84.25437125534816,258.8968396398284],[84.15959770320049,258.92874508208024],[84.06480081390453,258.9605781330784],[83.96997918798536,258.9923401933478],[83.87513354521792,259.02403066261843],[83.78026406560222,259.05564954082286],[83.68537049895077,259.0871963280548],[83.5902189469427,259.1184622120113],[83.49502738451235,259.1497803109754],[83.40029579897445,259.1814100374704],[83.3055618447995,259.21267006482765],[83.21055030405662,259.24385929627465],[83.11551493612797,259.27497603665176],[83.02045275131374,259.3060210870801],[82.925370240176,259.3369959451259],[82.83026459147744,259.3678973118431],[82.73513558589309,259.39872698731403],[82.63998333331041,259.42948467149756],[82.54480788395442,259.4601709643748],[82.44960900752514,259.4907850660321],[82.35438642409758,259.52132717657446],[82.25914157355915,259.5517969954619],[82.16387387617236,259.5821952229119],[82.06858325178723,259.61252145895435],[81.97326975044129,259.64277580357066],[81.87756094916062,259.67303039642405],[81.78257037484214,259.7030634199274],[81.68718856242614,259.7331015901451],[81.59178020244957,259.7630662703129],[81.4963569760366,259.79296045605065],[81.40088846468937,259.82278815876555],[81.30541629772995,259.85254756284655],[81.20992304017206,259.8822253748307],[81.1144060556159,259.9118311957074],[81.01886629398639,259.94136482512044],[80.9233071953208,259.9708263617798],[80.82772335961951,260.00021580771045],[80.73211737684481,260.02953306194115],[80.63648929699674,260.0587781244531],[80.54083918003776,260.08795089522397],[80.44516715274288,260.11704277420546],[80.3494916899108,260.14606655447045],[80.25377599116909,260.17502124981905],[80.158038326029,260.2039055534001],[80.06228254355273,260.23271696377003],[79.9665013740408,260.261456283655],[79.87069853749293,260.29012351166],[79.77487403372166,260.31871814778503],[79.67902798201445,260.3472382919854],[79.5831604439463,260.3756881442381],[79.48727146884221,260.4040659045246],[79.39135691658998,260.4323712743975],[79.29542520718901,260.4606042506992],[79.19947221131459,260.48876663497833],[79.10350039016654,260.5168616263122],[79.0075050793577,260.5448775264491],[78.91148866140041,260.5728210344961],[78.81544791580737,260.6006908516607],[78.7193927056529,260.62849517424496],[78.6233134467002,260.6562227058421],[78.52720844992434,260.6838760470856],[78.43108754618714,260.7114574942892],[78.334945895939,260.7389682492678],[78.23878354734232,260.7664034120029],[78.14260405208444,260.793767481163],[78.04616243349506,260.821016048611],[77.94993883382787,260.84823503430005],[77.85369316652478,260.8753803282592],[77.75766475870644,260.9024975407443],[77.66138184819359,260.92950094865967],[77.56507599981992,260.9564300651715],[77.4687499036977,260.98328518927104],[77.37240053095219,261.0100693220943],[77.27603756120767,261.03678146001135],[77.17965101408988,261.06342060676474],[77.08324446974855,261.089987161012],[76.98681782822118,261.1164812227906],[76.89037142950775,261.14290279197303],[76.79390520360828,261.1692518685855],[76.69741920059775,261.1955286526093],[76.60091350032616,261.2217327440145],[76.50438846328097,261.2478654426659],[76.40784350863724,261.2739245487812],[76.31127901680746,261.2999111622179],[76.21469777775391,261.32582518192964],[76.11809432143944,261.35166650996774],[76.0214717380139,261.3774355451734],[75.9248295674398,261.40313218771917],[75.82816810926708,261.42875523749257],[75.73148770417077,261.454306494366],[75.63478990185074,261.4797851577582],[75.53807103245724,261.5051916290456],[75.44127421655675,261.5305274295579],[75.34451726182851,261.55581301511864],[75.24774141091419,261.58100210775876],[75.15094752277616,261.60611860715767],[75.05413144490228,261.63115581487216],[74.95729893231709,261.65612712874497],[74.86044803350828,261.68100184950583],[74.7636381160591,261.70582685489524],[74.66675016202797,261.73058098954334],[74.5698437408482,261.7552627311115],[74.47291890300727,261.77987337958086],[74.37597609783018,261.80441113478287],[74.27901456516693,261.8288755970025],[74.18203480539252,261.8532677660522],[74.085036418507,261.87758764208206],[73.98801480447314,261.9018351268169],[73.89098056441524,261.92601321628155],[73.79392839604614,261.9501158124641],[73.69685830060335,261.97414621536416],[73.5997702780869,261.9981044249818],[73.50266452845925,262.02199034124203],[73.40554105168289,262.04580386414483],[73.30839974783282,262.06954519372766],[73.21124091687155,262.0932142298781],[73.11406475917406,262.11681197252096],[73.01687067226658,262.1387318217694],[72.91956196020352,262.1621846141099],[72.82233322120989,262.1855655764556],[72.72508705521753,262.2088745453312],[72.62792066225711,262.23211158428694],[72.53064016394224,262.2553343660312],[72.43334261702866,262.2784275541595],[72.33603454307837,262.30144864623037],[72.23870624220454,262.3243979458813],[72.14135721433226,262.3472752532997],[72.04399185953615,262.3700807668357],[71.94661017777877,262.39281438648925],[71.84921126909761,262.4154762125978],[71.75179564170521,262.4380881449723],[71.65436337917653,262.46060638357847],[71.55691448972406,262.48305282841466],[71.45944917327283,262.5054272794058],[71.36196743192279,262.5277353365517],[71.2644230618147,262.54996671717794],[71.16690856485458,262.57212648659674],[71.06937840455699,262.59571736198984],[70.97183049035043,262.61623114382434],[70.87426741284388,262.6381761314457],[70.77673536963408,262.66154590752933],[70.6791402377924,262.6833460071608],[70.5815289789519,262.7050741128349],[70.48390199341254,262.7267310244015],[70.38625918106187,262.748316441898],[70.28860064178737,262.7698300652871],[70.19092797656388,262.79127449396856],[70.09323784876898,262.80961872898047],[69.99553366470805,262.83394626968425],[69.89781261860065,262.85517501649326],[69.80007614586938,262.87633276908235],[69.70232574636414,262.8974191268889],[69.60455851989764,262.9184335910005],[69.50677616703227,262.9393776607796],[69.40884227739011,262.96022368737795],[69.31102729107708,262.9810785693882],[69.21291758014733,263.0018678619154],[69.11535399957933,263.022471349631],[69.01749539439462,263.0430092479761],[68.91975849220134,263.0635551006832],[68.82187085326872,263.08400300990957],[68.72396988767461,263.10437982412844],[68.62603859658267,263.1246886497145],[68.52784215329719,263.144591674704],[68.42989694638126,263.1648583055055],[68.33193723746656,263.1848529417262],[68.23422406533425,263.2052122855214],[68.13623454100919,263.22516583291997],[68.03823049006019,263.245048385761],[67.94021231267473,263.26486044389446],[67.84217970862785,263.2846014074329],[67.74413347664448,263.30426787607655],[67.64608781871111,263.32386514450013],[67.54801323599234,263.34339632376583],[67.44974614464982,263.3626378752017],[67.35182459154524,263.382247997087],[67.25370822962954,263.40156799200497],[67.15557834213988,263.42081979199025],[67.05743472806371,263.44000069711797],[66.95927738770106,263.4591115073881],[66.86110642112693,263.47815242276323],[66.76292282826624,263.49712324286827],[66.66472490949411,263.5160249683406],[66.56651386481046,263.53485759873024],[66.46826949365419,263.5536196416124],[66.37003509609728,263.5723112807495],[66.27178557221649,263.590932725554],[66.17352192309926,263.60948687565076],[66.07524554848294,263.6279730305147],[65.97695574739264,263.64638859040866],[65.87864971712852,263.6647263563831],[65.78033416414013,263.6830035259243],[65.6820056853152,263.70121180030776],[65.58366458061622,263.71935107942113],[65.48531075008066,263.73742146330176],[65.38694429374605,263.7554230519123],[65.28856881389962,263.7733619439022],[65.19017260671721,263.79122794365975],[65.09176867321041,263.80902374630966],[64.99335241401701,263.8267510535769],[64.89492463018696,263.8444126651613],[64.79648391965787,263.86200308158817],[64.69803088351722,263.8795252026323],[64.59956572180246,263.8969791282188],[64.50108833455111,263.914364958385],[64.40259912161316,263.931682292981],[64.30409878317604,263.9489316317443],[64.20558581946484,263.96611357523733],[64.10706103029203,263.98322762316013],[64.00852431520761,264.0002725755503],[63.909976575974014,264.01725313207],[63.81141671071633,264.034164293132],[63.71284541995949,264.0510074584738],[63.61426270407851,264.0677836280953],[63.51567406202301,264.0844899999342],[63.41706849555622,264.1011312781152],[63.31845130389033,264.1177053606508],[63.21982318710023,264.13421244727874],[63.12118354458599,264.150650938224],[63.02252987856032,264.16702673442353],[62.92387309044739,264.18334363178985],[62.82520007428565,264.19958573523627],[62.72651663202471,264.2157582425877],[62.627822364939576,264.2318645539937],[62.52911717291775,264.24790436949195],[62.43040055592178,264.2638775892698],[62.331674114251555,264.27978501272725],[62.232936747757165,264.2956262402769],[62.1341893564385,264.3114012715812],[62.03543114029567,264.32711010694004],[61.936662399403616,264.3427529462411],[61.83696365162777,264.35731093421776],[61.73909334228438,264.3738377366699],[61.64029352725716,264.38928288760974],[61.541484788230605,264.4046640418917],[61.44266542366735,264.4199771001534],[61.34383823502972,264.4352259613446],[61.244998723368,264.4504134271526],[61.14614718425713,264.46552769746575],[61.047286722196986,264.48058077112074],[60.948416736175034,264.4955699483427],[60.84953662547886,264.51049332935673],[60.7506469904834,264.52535191393787],[60.65174703122621,264.54014580238595],[60.55283784774471,264.5548750942887],[60.45391914000146,264.56953968975836],[60.35498990803396,264.5841396891702],[60.25605215202961,264.59867559177394],[60.15710407045107,264.61314329824495],[60.05797848108499,264.6275902712798],[59.95918243968336,264.6418984207247],[59.86020728768183,264.6561783373339],[59.761223111943494,264.6703949573226],[59.66222941156839,264.68454588087843],[59.563226787681444,264.6986341077761],[59.46420644062081,264.71266054131564],[59.36518377087286,264.7266264757219],[59.26615227708808,264.7405283134327],[59.167114158591346,264.75436425362307],[59.0680664160203,264.76813599741797],[58.9690104498999,264.7818449442923],[58.86994576015513,264.79549089443356],[58.770868346823846,264.8090739493417],[58.671786510055384,264.82259450590425],[58.57269495041268,264.83605406610855],[58.47359846515785,264.8494453281552],[58.374498957215806,264.86277609133106],[58.275383826887364,264.87604716036117],[58.176259473422164,264.88925653284554],[58.077127496520006,264.90240340818434],[57.97798709636851,264.9154882866774],[57.87883867311763,264.9285115681749],[57.77968452519218,264.94146905181447],[57.68052005570502,264.95436903932057],[57.58134836285589,264.9672067295311],[57.482168447507405,264.9799844228208],[57.38298340913431,264.9927007180273],[57.28378874777444,265.00535571683815],[57.18458466354029,265.0179497191782],[57.08537295650672,265.03048292437256],[56.98615352667373,265.04295533245875],[56.88692507104143,265.05535894392466],[56.7876906965096,265.0677121576067],[56.68844960105325,265.0800095738051],[56.58919618047284,265.09223999462074],[56.489688286560465,265.1042749108499],[56.39026279906709,265.1165935961967],[56.290975820251646,265.12866872958574],[56.19205108291085,265.1405877271235],[56.09276494994546,265.1525184601852],[55.99346989508075,265.16439079658846],[55.89416901797898,265.1762038351709],[55.794876109939224,265.1879343707591],[55.69561588929719,265.19963129408734],[55.596295145671945,265.2112669401072],[55.49696937890961,265.22284088800643],[55.39763479178542,265.23436053920943],[55.29823858891562,265.2458382135154],[55.19895195281319,265.25722724672767],[55.099596999690576,265.2685709055555],[55.00023552478096,265.27985646682504],[54.90086752872185,265.29108563053603],[54.80149291042575,265.3022554967261],[54.702108670755365,265.3133683665202],[54.602720009597846,265.32442393796833],[54.503325324028296,265.3354144116711],[54.40392601910911,265.3463532871024],[54.3045203958154,265.35724316489967],[54.20510784844721,265.3680688452889],[54.10568897985455,265.3788379280447],[54.00626148591252,265.3895394140302],[53.906792453610976,265.4001386155853],[53.8073554214572,265.4107382051405],[53.70795048735117,265.4213325826585],[53.60850471263559,265.4318186754842],[53.50904981718318,265.4422494717262],[53.409584502681554,265.4526294718718],[53.31011486459278,265.4629465736342],[53.21064250647923,265.473210276413],[53.11116412744116,265.48341818144564],[53.01168032774099,265.49357098850726],[52.91219100741627,265.5036687976351],[52.81269506440455,265.51370610924226],[52.71319500541814,265.52370082238986],[52.61368952404467,265.53363583756675],[52.51417832155916,265.543514554885],[52.41466179871155,265.5533389741946],[52.315141455951746,265.5631102949329],[52.21561589226734,265.57282581762524],[52.11608350844597,265.58248764287123],[52.016546004487495,265.59209577003355],[51.917003581666904,265.60165359903687],[51.817456636984176,265.61115312973175],[51.717904073439385,265.62060236253024],[51.618352788144534,265.62999359484525],[51.518791485525426,265.6393386309136],[51.41911680063947,265.64846430948467],[51.31964971590122,265.65785701022463],[51.22007164964592,265.66703235256733],[51.12048926602846,265.6761613965258],[51.020907268611,265.6852536403368],[50.92131564674426,265.69428068775244],[50.821714805303216,265.7032555386217],[50.722113844099724,265.71217768953215],[50.62250826354659,265.72104824217126],[50.52260572333965,265.7294931061401],[50.422783846926734,265.7383747398908],[50.32337466720996,265.7469808188611],[50.22404124885007,265.7560171694513],[50.1244175714359,265.7646294288585],[50.02478527568488,265.77319279149424],[49.925148460734206,265.781704955821],[49.825507526996375,265.7901670216887],[49.725867074021025,265.79857778737266],[49.626217702633866,265.8069394563976],[49.526562407809635,265.81523862763925],[49.426905703648046,265.8235128994078],[49.32724537927426,265.8317332725301],[49.22757913307592,265.8398954478689],[49.127912870190116,265.84801312321093],[49.0282388871299,265.8560770014442],[48.928561085544985,265.8640914811059],[48.82887939519803,265.8718692622093],[48.729193721888606,265.87995914482826],[48.62950516439206,265.88782452851297],[48.52981188848338,265.8956408139636],[48.43011359783759,265.90341780129205],[48.330411786004575,265.91113828993696],[48.230707356021796,265.9188103795602],[48.130999308001805,265.926434370537],[48.03128724396963,265.9340156630166],[47.93157196028771,265.94154455669997],[47.83185056033126,265.94903005267383],[47.73212793929993,265.9564593491017],[47.63240140559391,265.9638548469944],[47.53267175133813,265.97119554605354],[47.43293897934514,265.9784889462784],[47.333202589877416,265.9857357478566],[47.23346268297249,265.9929360507506],[47.13371935874281,266.00009015492276],[47.0339728207134,266.00720746029754],[46.934225360034105,266.014264366014],[46.8343406840645,266.02128052318335],[46.73453983312663,266.0280967489042],[46.63478032336077,266.0350227591299],[46.53501786830752,266.0420946704704],[46.43507163305483,266.0489527507132],[46.33552574418661,266.0556677808164],[46.23588266702521,266.0624140473674],[46.13610847194809,266.0691125630841],[46.03632995977125,266.07576548041646],[45.93655003289456,266.0823791982766],[45.83675648959391,266.08894912123986],[45.73696962866774,266.09547204169394],[45.63717935120442,266.10195086342605],[45.537386857428714,266.1083861859862],[45.43759122566587,266.11472020971604],[45.3377928993782,266.12106883445733],[45.23799185366573,266.12736566021476],[45.13818939816588,266.133636386499],[45.03838294484132,266.13991291428283],[44.93857375041705,266.1460798430869],[44.83876184744295,266.15222397290506],[44.73894112826949,266.1583249060262],[44.63913848381986,266.1643584323647],[44.53931872973391,266.1703662651174],[44.439499060498036,266.1763336978355],[44.33967557498744,266.1822577319816],[44.23984827398962,266.1881404675556],[44.14002106331682,266.19399740309393],[44.04018873134444,266.19979754054873],[43.94035408384724,266.205556278869],[43.84051701898778,266.21126871809247],[43.74067764291598,266.2169512581806],[43.640835749256865,266.22258689920943],[43.54099174127296,266.2281843410285],[43.4411455178392,266.2337405836755],[43.34129682689348,266.2388501272163],[43.24144592627235,266.2447338716403],[43.14159425791408,266.25017031632063],[43.041739274743605,266.25556726224124],[42.941882075073295,266.26092020899006],[42.842023164190635,266.2662432563784],[42.74216173688319,266.2715225047074],[42.64229829498842,266.276762853789],[42.54243279076891,266.2818370036323],[42.44256536739934,266.2871267542105],[42.34269568170507,266.29225030562543],[42.2428241820235,266.29733655771787],[42.14295076839207,266.30238561052545],[42.04307534021078,266.30739586408583],[41.94319609736732,266.31236701907386],[41.84331384543677,266.3170472751699],[41.74343857585558,266.321947128663],[41.64355598221226,266.3270494849168],[41.54367107966931,266.33186144201613],[41.44378476726399,266.3366470996422],[41.343897646571236,266.3414106575699],[41.24400650690376,266.3461236170011],[41.1441149536239,266.3508002765849],[41.04422338676906,266.3554407361712],[40.94432860352697,266.36003749696056],[40.844432109597506,266.3646057583895],[40.74453400205567,266.36913772042095],[40.64463438138901,266.3736346830173],[40.54473314722247,266.37809564621625],[40.444830300081065,266.3825220100176],[40.344927439289705,266.38691197382155],[40.245021265861084,266.39126823886534],[40.145113979420074,266.39558980432406],[40.04520508000422,266.39987677038516],[39.94529480461358,266.40396113694817],[39.84538328134795,266.40818450398876],[39.74547004889493,266.4123833716686],[39.64555576001692,266.41669843975274],[39.54564019437663,266.42080880830133],[39.44571691827443,266.42489127973937],[39.345798032834466,266.42894884952915],[39.24588003224443,266.4329660189843],[39.14595841864215,266.43694848979186],[39.0460350709526,266.4408400612433],[38.94606753290367,266.4447573492679],[38.84587894922052,266.44828632015714],[38.746151472492244,266.4521004181517],[38.64626334566245,266.45631427641797],[38.546332360923515,266.4601070507264],[38.4464015631346,266.4638650249623],[38.34648244719489,266.467574594814],[38.24658442562867,266.4712691567543],[38.14665139198996,266.4749315318219],[38.04671734668884,266.4785628072666],[37.94678188863787,266.4821600832388],[37.84684572019947,266.48572965947534],[37.74690824028616,266.4892686362016],[37.64696964818546,266.4927751133426],[37.547025447947675,266.49625989258516],[37.4470858335346,266.49970687010534],[37.34714480929662,266.5031276481524],[37.24720166743384,266.5065014269902],[37.1472723194201,266.50985880065423],[37.0473286667949,266.51320387968156],[36.947394294219066,266.51649575522515],[36.847448113956574,266.5197671351952],[36.74750333118149,266.5230318146407],[36.6475594266189,266.5262383937528],[36.547610713994175,266.52942347466643],[36.44766109071949,266.53258015591956],[36.34771646301948,266.53572503529847],[36.24776511882001,266.538825917193],[36.14781296389555,266.5418981993895],[36.04786009854624,266.54494268185056],[35.947906022697,266.5479591647635],[35.84795273646023,266.5509479473784],[35.74799734017361,266.55390993078265],[35.64804113364957,266.5568446144889],[35.548084117000656,266.55975229849696],[35.448126890264234,266.562633082582],[35.34816846405286,266.5655152671169],[35.24820881717915,266.5683423521057],[35.14824886115548,266.5711450372086],[35.04828819279439,266.57391482257646],[34.94832731558333,266.5766610080209],[34.848364628997416,266.5793821941421],[34.74840193247405,266.58207688026516],[34.64843840205077,266.5846811666946],[34.54847178655268,266.58732525428377],[34.44850676104201,266.5899426412748],[34.34853692638171,266.59253563006746],[34.24857040657113,266.5951682176199],[34.14860265361071,266.5977124056286],[34.04863549116274,266.600231293414],[33.948667719152354,266.60272468142625],[33.84870083821693,266.60519426910264],[33.74873185409416,266.6076553575671],[33.64876125455902,266.6100753466345],[33.548789045686505,266.6124704363036],[33.44878942849098,266.61484333624935],[33.348817702593465,266.61719302573414],[33.24884676690843,266.6195166149208],[33.14887282297363,266.62181820523404],[33.04889877078884,266.6240977955863],[32.94892420971661,266.6263536861277],[32.84894903964445,266.62858557689583],[32.74875856261244,266.63079894840257],[32.648674010060404,266.6330775801923],[32.54869941475076,266.6352421707402],[32.448833877021,266.6372936203835],[32.34909195878254,266.6393970236734],[32.24911383857318,266.6414952155383],[32.14913611723878,266.64359040725355],[32.049157180979506,266.6456457994216],[31.94917873632022,266.6476787914037],[31.849196579248712,266.6496786847756],[31.749216318539595,266.65166887743567],[31.649237355580368,266.6536530696087],[31.54925627960884,266.65560256257163],[31.449156536670785,266.65737350002206],[31.349175848436715,266.65929029283734],[31.249190316740624,266.6610911874607],[31.149327192773143,266.66317933620155],[31.049342478476945,266.66502663052165],[30.949358856080664,266.66685232443086],[30.84937492625943,266.6686582184539],[30.749388688788372,266.6704437133409],[30.649404344454695,266.67221090751667],[30.54934058662664,266.6739421314699],[30.449354520468148,266.6756511262873],[30.349369253447065,266.6773578208048],[30.249387085713266,266.67906261416],[30.14940090556732,266.68073430901745],[30.04949362492829,266.68240467428757],[29.94950652978241,266.6840363694854],[29.84951932826158,266.6856510647219],[29.749305764631544,266.6873668448511],[29.649319650323122,266.68894743967746],[29.54929747521757,266.6900992479965],[29.449570454753257,266.6919300456805],[29.349583019369987,266.6934544409984],[29.249594978811757,266.69496503654216],[29.149605930453617,266.69645483246245],[29.049616575570525,266.6979272284965],[28.949626810637454,266.6993728246823],[28.849636642816932,266.7008107210188],[28.749646571846398,266.70224021731826],[28.649617859803868,266.70329352808176],[28.549367894139124,266.70473722184255],[28.44970490662044,266.70638919550163],[28.349710160162886,266.7076173935403],[28.24971820269252,266.7090828905498],[28.149727398384584,266.7104234871181],[28.049735178626833,266.71172288421417],[27.949729149345018,266.71299688648713],[27.849736127974836,266.71429198388364],[27.74974289336714,266.7155517813576],[27.64974945298451,266.7167961789076],[27.549755806864397,266.7180252765337],[27.44976195508181,266.71923927423586],[27.349767597599254,266.7204380721266],[27.249773826241693,266.72159986979494],[27.149779266134146,266.72279166776116],[27.049784692039168,266.72394616573],[26.949789913144173,266.7250878637748],[26.84979492828674,266.7262136618956],[26.74981163630352,266.7273204556303],[26.649816119833645,266.7283619539446],[26.549823146526023,266.72951855131333],[26.449829840443527,266.73058774880064],[26.34983412307369,266.7316268471901],[26.24983820660384,266.7326683456544],[26.149842189646563,266.73370854415634],[26.049846065189286,266.7347287426971],[25.949849733869513,266.73573064131415],[25.84985329763728,266.73671943996965],[25.749856956755025,266.73769583858854],[25.64985881096041,266.73865913788336],[25.54986185961576,266.73960763672915],[25.449864904146068,266.74054513557576],[25.349867443801458,266.7414696346108],[25.24986997888186,266.7423819336467],[25.14987270938724,266.74328203260836],[25.049875302542688,266.7440825316146],[24.949877757835566,266.7450487306842],[24.84988027476598,266.7459126297235],[24.749882587346434,266.74676492883856],[24.64988539621436,266.7476073277669],[24.54988770001981,266.7484362268836],[24.44985529959021,266.7492538390136],[24.34984789983386,266.7500732417685],[24.249849890776915,266.7508678410002],[24.149852177519904,266.7516512401201],[24.049731324521616,266.7523286854099],[23.94969135548004,266.753230000384],[23.84970317618499,266.75383729591636],[23.749738441250713,266.75456288266537],[23.649739807743828,266.75529228212656],[23.549783092608948,266.7560706658719],[23.449906865580914,266.756817319432],[23.34990862033652,266.75751541874547],[23.249910264104642,266.75818421809845],[23.14990991034793,266.758859618201],[23.04991306131592,266.7595476169902],[22.949917401596394,266.7602071153313],[22.849918937677046,266.7608554147232],[22.7499205701952,266.7614942140783],[22.649922099113383,266.7621234134716],[22.549918121356967,266.76273481492865],[22.449925007824817,266.7632508123049],[22.349927729317898,266.76386021124955],[22.24992915227361,266.76447351068146],[22.149925263717194,266.765056112103],[22.04992739792283,266.7656994112703],[21.949929502803514,266.7662645104431],[21.84899200370026,266.76681916196594],[21.749932201952475,266.76736640935314],[21.649933397120748,266.76790560886525],[21.549934789101513,266.76843630830297],[21.449921582545784,266.7689709132154],[21.34992296830154,266.7694850126543],[21.24992385124486,266.76999161228116],[21.149925230963106,266.77048961172113],[21.049926547344057,266.7708187111731],[20.949927968387215,266.7714269106053],[20.849929249343035,266.77192821008254],[20.74993071732382,266.7723949094873],[20.64993222766725,266.7727079088653],[20.549933289198037,266.7731574084212],[20.449937545253675,266.77359230677814],[20.349941302471848,266.7740303053224],[20.249981057512485,266.774462490367],[20.149981509555857,266.77488669014974],[20.049982059049256,266.77530408989537],[19.949983005842626,266.7757142894916],[19.849983851586018,266.7761216891255],[19.749983893616985,266.77651918906],[19.64998613013529,266.7769019881706],[19.54999576616558,266.77728348450637],[19.449996204109,266.7776700842917],[19.349996735752427,266.7780398840407],[19.249997365895865,266.77840568375245],[19.149999093414237,266.77876448305227],[19.050001619057525,266.7791182820524],[18.950002081075922,266.77956908183324],[18.85000266168194,266.77980278155434],[18.7500029901004,266.78016398137896],[18.65000343531881,266.7805699811629],[18.550004844312213,266.78087938057865],[18.450005155668208,266.7811950804065],[18.350004769386743,266.7815170804964],[18.250007184605124,266.781843079536],[18.150006890036167,266.78214297958993],[18.050007193592137,266.7824378794192],[17.95000769561065,266.7827286791737],[17.85000789504167,266.7830125790413],[17.75000585828542,266.78319997974063],[17.650011992103458,266.7835755773893],[17.550012185984485,266.7838446772579],[17.45001237802802,266.78410887712687],[17.350012568271552,266.78436827699613],[17.24993000647106,266.7844889078876],[17.149930493114567,266.78473870764503],[17.05001322853974,266.7851185765684],[16.950013411883276,266.785359576439],[16.849898045585036,266.7854682196313],[16.750013873845376,266.78582897614353],[16.650014152351446,266.7860570759775],[16.55001492928247,266.78628097562427],[16.45001510463854,266.7865006754963],[16.349998278008314,266.78671508174375],[16.249919443957452,266.7869097112425],[16.149919514813547,266.78711741115296],[16.049919584244634,266.78732131106364],[15.949918144713365,266.7875013115385],[15.849918411069439,266.7876970113748],[15.749918282750542,266.78790691136],[15.649994752251246,266.78811098262076],[15.549698239703162,266.7883629937528],[15.450011976037246,266.7884785760325],[15.350012436318337,266.78865807579484],[15.250012895211938,266.78883387555754],[15.150013152455557,266.7890052753955],[15.050013408199163,266.7891726752338],[14.94999725640642,266.78931998122334],[14.849997309712563,266.7894808811371],[14.749997270593639,266.78966198108685],[14.649995616662437,266.78980358163943],[14.549995666518555,266.78995528155383],[14.449992405162448,266.79007708270774],[14.349998069155646,266.79026648051945],[14.249998316199282,266.7904106803593],[14.149992765343313,266.79056048237385],[14.049405264240846,266.79057640260976],[13.949993454630572,266.7908360819795],[13.849991397361833,266.7909687826827],[13.750008438104317,266.79109617622373],[13.650007267973052,266.7911945765918],[13.550014304478736,266.7913106738837],[13.450016055647268,266.7914658731603],[13.35001619402837,266.79158697303933],[13.250016331547045,266.7917057729185],[13.150017968090566,266.7918219722353],[13.05001820380923,266.79193597207734],[12.950014838890667,266.7920482732694],[12.85001227025947,266.79215067416226],[12.750012203278146,266.79225747411726],[12.650013939409206,266.79237257339673],[12.5500151701778,266.7924733728646],[12.450015301171476,266.79257477274507],[12.350015331490113,266.79267437266304],[12.250015361058814,266.7927719725812],[12.149954360706857,266.7927897953799],[12.049953888963046,266.79288389548583],[11.949955106156665,266.7929484949563],[11.850015461896021,266.7931158722571],[11.750017198102086,266.7932311715365],[11.65001712388326,266.7933186714929],[11.550018849026856,266.79340447077436],[11.450018472633047,266.7934861708436],[11.350018397064247,266.79357007080023],[11.249972216661178,266.7936410880452],[11.150017541576688,266.7937262709768],[11.050004755133813,266.793781175698],[10.950004476452506,266.7938567757302],[10.850003584571283,266.79389717598985],[10.75000360551499,266.79397177590965],[10.650000538983875,266.7940797769895],[10.550000258465076,266.7941504770221],[10.44999987749631,266.7942199770922],[10.349999496040027,266.79428817716246],[10.250010214432962,266.7943559730702],[10.150009833464168,266.79442547314034],[10.050009350882931,266.7944906732482],[9.950008767589168,266.7945539733938],[9.850008384182928,266.7946169734644],[9.750007200926717,266.794680373835],[9.650006317257976,266.79474267409313],[9.550009631113966,266.79479837277677],[9.450010147670099,266.7948612725098],[9.350003320014395,266.7948062749887],[9.250008779057595,266.79498247287637],[9.150010800188682,266.79505757204606],[9.050010514157378,266.7951135720797],[8.949876299073082,266.7950921223311],[8.849874613454432,266.7951492228896],[8.749874726598136,266.7952030227733],[8.64987433962935,266.7952565228446],[8.549974062628536,266.79533658537656],[8.449971174609942,266.79538728638556],[8.349970686591206,266.79543798649445],[8.250008614582185,266.79553137220046],[8.15000832682594,266.79558277223435],[8.050008138019678,266.79563137223096],[7.9500078490633825,266.79567957226504],[7.850007655419631,266.7957152722626],[7.750007364663389,266.79575867229704],[7.6500108796068105,266.79581727090545],[7.5500113896380014,266.7958627706398],[7.450012299594135,266.7959080702241],[7.3498987715334465,266.7958520127155],[7.249645584732434,266.7959060075865],[7.149644064463843,266.79587070807656],[7.050011173644208,266.7959138703363],[6.950011182662934,266.7959566702583],[6.850011091606689,266.79599927021786],[6.74999559545148,266.7960282759533],[6.649987491233304,266.79603577891527],[6.549989504339379,266.7960894780865],[6.450010421531601,266.7961540701695],[6.349770229742205,266.7961947601665],[6.250011038181469,266.79623596978877],[6.149983146189697,266.79627608017347],[6.0499820468834855,266.7962966805095],[5.9499798549273635,266.7963368812567],[5.849978261733696,266.79637378177915],[5.7499762764900595,266.79643188245007],[5.649974375271398,266.7964473830865],[5.549972482640271,266.7964857837213],[5.449968500396778,266.7965518851417],[5.34996741192802,266.7966013854757],[5.249965719821887,266.79664118603546],[5.1499633071658195,266.79662618686154],[5.049961729309615,266.7967039873811],[4.949959542753476,266.7967585881272],[4.849957550572327,266.79679818879947],[4.749957051941095,266.7968205889104],[4.649945358898151,266.79685789322036],[4.549943872829459,266.7969137937039],[4.449942381210775,266.7969548941885],[4.349929988430375,266.7969928987609],[4.24993957798597,266.7969837950865],[4.149938385167275,266.79702169545885],[4.049938592385956,266.7970596953062],[3.9499376168547258,266.7971436956003],[3.8499488239226594,266.7971812913228],[3.7499478243914837,266.7972012916213],[3.649946531422785,266.7972387920312],[3.5499456375540603,266.7972738922913],[3.449944644660377,266.7973115925887],[3.3499436372166826,266.79731049288876],[3.2499419436480252,266.7973463934487],[3.1499378653795134,266.79742309490587],[3.0499380723357206,266.7974603947533],[2.9499318795923557,266.79749849700056],[2.8499408875979384,266.7975385935478],[2.749940494554181,266.7975758936202],[2.649940207997929,266.79763049365386],[2.550021214985975,266.79766786320135],[2.4500196183047933,266.7976954637244],[2.35002142863587,266.79774176297116],[2.250021435442079,266.79777866289356],[2.1499135371559532,266.79780200327934],[2.049913743999639,266.7978390031268],[1.9499144509182713,266.7978762027867],[1.8499146577619854,266.79791320263416],[1.7499514628406416,266.7979454887569],[1.6499515696093567,266.79798228864183],[1.5500214808356532,266.798030962351],[1.450021487566886,266.7980676622734],[1.349973190176513,266.7980933803091],[1.2499591911712287,266.79811478548265],[1.1500042997742526,266.7981564684922],[1.0500042906178066,266.79841746843636],[.9500044975365256,266.7984546682838],[.8500041144677652,266.7985185683543],[.7496608798483919,266.79817839696545],[.6499476965842348,266.798508389355],[.5500559037953394,266.7985463487024],[.4500490112770592,266.7985850512123],[.3500419483462167,266.7987026537915],[.2500344533529528,266.79873475652676],[.15002654553475736,266.79873265941444],[.050018452679069014,266.79877046237425]]};var n5={lengthMm:250,samplingMm:.1,points:[[0,0],[.1,0],[.2,0],[.3,0],[.4,0],[.5,0],[.6,0],[.7,0],[.8,0],[.9,0],[1,0],[1.1,0],[1.2,0],[1.3,0],[1.4,0],[1.5,0],[1.6,1e-7],[1.7,1e-7],[1.8,1e-7],[1.9,1e-7],[2,2e-7],[2.1,2e-7],[2.2,3e-7],[2.3,4e-7],[2.4,5e-7],[2.5,6e-7],[2.6,7e-7],[2.7,9e-7],[2.8,1e-6],[2.9,12e-7],[3,15e-7],[3.1,17e-7],[3.2,2e-6],[3.3,24e-7],[3.4,28e-7],[3.5,32e-7],[3.6,37e-7],[3.7,42e-7],[3.8,48e-7],[3.9,55e-7],[4,62e-7],[4.1,7e-6],[4.2,79e-7],[4.3,89e-7],[4.4,1e-5],[4.5,111e-7],[4.6,124e-7],[4.7,138e-7],[4.8,153e-7],[4.9,169e-7],[5,187e-7],[5.1,207e-7],[5.2,227e-7],[5.3,25e-6],[5.4,274e-7],[5.5,3e-5],[5.6,328e-7],[5.7,358e-7],[5.8,39e-6],[5.9,424e-7],[6,461e-7],[6.099999999,5e-5],[6.199999999,541e-7],[6.299999999,586e-7],[6.399999999,633e-7],[6.499999999,683e-7],[6.599999999,736e-7],[6.699999999,793e-7],[6.799999999,853e-7],[6.899999998,916e-7],[6.999999998,983e-7],[7.099999998,1054e-7],[7.199999998,1129e-7],[7.299999997,1209e-7],[7.399999997,1292e-7],[7.499999997,138e-6],[7.599999996,1473e-7],[7.699999996,157e-6],[7.799999995,1673e-7],[7.899999995,1781e-7],[7.999999994,1894e-7],[8.099999993,2013e-7],[8.199999992,2138e-7],[8.299999992,2268e-7],[8.399999991,2405e-7],[8.49999999,2549e-7],[8.599999988,2699e-7],[8.699999987,2856e-7],[8.799999986,302e-6],[8.899999984,3192e-7],[8.999999983,3371e-7],[9.099999981,3558e-7],[9.199999979,3753e-7],[9.299999977,3957e-7],[9.399999975,4169e-7],[9.499999972,439e-6],[9.59999997,462e-6],[9.699999967,486e-6],[9.799999964,5109e-7],[9.89999996,5368e-7],[9.999999957,5638e-7],[10.09999995,5918e-7],[10.19999995,6209e-7],[10.29999994,6511e-7],[10.39999994,6825e-7],[10.49999993,7151e-7],[10.59999993,7488e-7],[10.69999992,7838e-7],[10.79999992,8201e-7],[10.89999991,8577e-7],[10.9999999,8967e-7],[11.09999989,937e-6],[11.19999988,9787e-7],[11.29999987,.0010219],[11.39999986,.0010666],[11.49999985,.0011128],[11.59999984,.0011606],[11.69999983,.0012099],[11.79999982,.0012609],[11.8999998,.0013136],[11.99999979,.001368],[12.09999977,.0014242],[12.19999976,.0014821],[12.29999974,.0015419],[12.39999972,.0016036],[12.4999997,.0016672],[12.59999968,.0017327],[12.69999965,.0018003],[12.79999963,.0018699],[12.8999996,.0019416],[12.99999958,.0020155],[13.09999955,.0020916],[13.19999952,.0021699],[13.29999949,.0022504],[13.39999945,.0023333],[13.49999941,.0024186],[13.59999938,.0025063],[13.69999934,.0025965],[13.79999929,.0026892],[13.89999925,.0027845],[13.9999992,.0028825],[14.09999915,.0029831],[14.1999991,.0030864],[14.29999904,.0031925],[14.39999898,.0033015],[14.49999892,.0034133],[14.59999885,.0035281],[14.69999878,.0036459],[14.79999871,.0037668],[14.89999863,.0038908],[14.99999855,.0040179],[15.09999847,.0041483],[15.19999838,.004282],[15.29999828,.004419],[15.39999818,.0045595],[15.49999808,.0047034],[15.59999797,.0048508],[15.69999786,.0050018],[15.79999774,.0051565],[15.89999761,.0053148],[15.99999748,.005477],[16.09999734,.005643],[16.1999972,.0058129],[16.29999705,.0059868],[16.39999689,.0061647],[16.49999672,.0063467],[16.59999655,.0065329],[16.69999637,.0067233],[16.79999618,.0069181],[16.89999598,.0071172],[16.99999577,.0073207],[17.09999556,.0075288],[17.19999533,.0077414],[17.2999951,.0079587],[17.39999485,.0081807],[17.49999459,.0084076],[17.59999432,.0086393],[17.69999404,.0088759],[17.79999375,.0091176],[17.89999345,.0093643],[17.99999313,.0096163],[18.0999928,.0098735],[18.19999245,.010136],[18.2999921,.0104039],[18.39999172,.0106772],[18.49999133,.0109562],[18.59999093,.0112408],[18.69999051,.0115311],[18.79999007,.0118272],[18.89998961,.0121291],[18.99998914,.0124371],[19.09998865,.012751],[19.19998813,.0130711],[19.2999876,.0133974],[19.39998705,.01373],[19.49998647,.014069],[19.59998588,.0144145],[19.69998526,.0147665],[19.79998461,.0151251],[19.89998395,.0154904],[19.99998325,.0158626],[20.09998253,.0162417],[20.19998179,.0166277],[20.29998102,.0170208],[20.39998022,.0174211],[20.49997939,.0178287],[20.59997852,.0182436],[20.69997763,.0186659],[20.79997671,.0190958],[20.89997575,.0195333],[20.99997476,.0199786],[21.09997373,.0204316],[21.19997267,.0208926],[21.29997157,.0213616],[21.39997043,.0218387],[21.49996926,.0223239],[21.59996804,.0228175],[21.69996678,.0233195],[21.79996547,.02383],[21.89996413,.024349],[21.99996274,.0248768],[22.0999613,.0254134],[22.19995981,.0259588],[22.29995827,.0265133],[22.39995668,.0270768],[22.49995504,.0276496],[22.59995335,.0282317],[22.6999516,.0288231],[22.79994979,.0294241],[22.89994793,.0300347],[22.999946,.0306551],[23.09994402,.0312852],[23.19994197,.0319253],[23.29993986,.0325755],[23.39993768,.0332358],[23.49993543,.0339064],[23.59993311,.0345873],[23.69993072,.0352788],[23.79992825,.0359808],[23.89992571,.0366935],[23.9999231,.0374171],[24.0999204,.0381515],[24.19991762,.038897],[24.29991476,.0396537],[24.39991181,.0404216],[24.49990877,.0412009],[24.59990565,.0419918],[24.69990243,.0427942],[24.79989911,.0436083],[24.8998957,.0444343],[24.99989219,.0452723],[25.09988858,.0461223],[25.19988486,.0469845],[25.29988104,.0478591],[25.3998771,.048746],[25.49987306,.0496456],[25.59986889,.0505578],[25.69986462,.0514828],[25.79986022,.0524207],[25.8998557,.0533716],[25.99985105,.0543358],[26.09984627,.0553132],[26.19984136,.056304],[26.29983632,.0573083],[26.39983114,.0583263],[26.49982581,.0593581],[26.59982035,.0604038],[26.69981473,.0614635],[26.79980897,.0625373],[26.89980304,.0636255],[26.99979697,.0647281],[27.09979073,.0658452],[27.19978432,.066977],[27.29977775,.0681235],[27.399771,.069285],[27.49976408,.0704616],[27.59975698,.0716534],[27.69974969,.0728604],[27.79974222,.074083],[27.89973455,.0753211],[27.99972669,.0765749],[28.09971863,.0778446],[28.19971037,.0791302],[28.29970189,.080432],[28.39969321,.08175],[28.4996843,.0830844],[28.59967518,.0844353],[28.69966583,.0858029],[28.79965624,.0871873],[28.89964643,.0885886],[28.99963637,.0900069],[29.09962606,.0914425],[29.19961551,.0928954],[29.29960469,.0943658],[29.39959362,.0958538],[29.49958229,.0973596],[29.59957068,.0988833],[29.69955879,.100425],[29.79954663,.1019848],[29.89953417,.103563],[29.99952142,.1051597],[30.09950838,.106775],[30.19949503,.108409],[30.29948136,.1100619],[30.39946739,.1117338],[30.49945309,.1134249],[30.59943846,.1151353],[30.69942349,.1168652],[30.79940819,.1186147],[30.89939254,.1203839],[30.99937653,.1221731],[31.09936016,.1239823],[31.19934343,.1258116],[31.29932632,.1276613],[31.39930883,.1295315],[31.49929095,.1314224],[31.59927268,.133334],[31.699254,.1352665],[31.79923492,.1372201],[31.89921542,.139195],[31.99919549,.1411912],[32.09917513,.1432089],[32.19915433,.1452483],[32.29913309,.1473096],[32.39911138,.1493928],[32.49908922,.1514981],[32.59906658,.1536257],[32.69904347,.1557758],[32.79901986,.1579484],[32.89899576,.1601438],[32.99897115,.162362],[33.09894603,.1646033],[33.19892039,.1668678],[33.29889422,.1691557],[33.3988675,.171467],[33.49884024,.173802],[33.59881241,.1761608],[33.69878402,.1785436],[33.79875505,.1809505],[33.89872549,.1833816],[33.99869534,.1858372],[34.09866458,.1883174],[34.1986332,.1908224],[34.29860119,.1933522],[34.39856855,.1959071],[34.49853526,.1984872],[34.59850131,.2010927],[34.69846669,.2037237],[34.79843139,.2063804],[34.89839541,.209063],[34.99835872,.2117716],[35.09832132,.2145063],[35.19828319,.2172674],[35.29824433,.2200549],[35.39820472,.2228691],[35.49816436,.2257101],[35.59812322,.2285781],[35.69808131,.2314732],[35.7980386,.2343955],[35.89799508,.2373454],[35.99795074,.2403228],[36.09790558,.243328],[36.19785957,.2463611],[36.2978127,.2494223],[36.39776496,.2525118],[36.49771635,.2556297],[36.59766683,.2587762],[36.69761641,.2619514],[36.79756506,.2651555],[36.89751278,.2683887],[36.99745955,.2716512],[37.09740535,.274943],[37.19735018,.2782644],[37.29729402,.2816155],[37.39723684,.2849964],[37.49717865,.2884075],[37.59711942,.2918487],[37.69705914,.2953203],[37.7969978,.2988225],[37.89693537,.3023554],[37.99687185,.3059191],[38.09680722,.3095139],[38.19674145,.3131399],[38.29667455,.3167973],[38.39660649,.3204862],[38.49653725,.3242068],[38.59646682,.3279592],[38.69639518,.3317437],[38.79632232,.3355604],[38.89624822,.3394094],[38.99617285,.343291],[39.09609622,.3472053],[39.19601829,.3511524],[39.29593905,.3551325],[39.39585848,.3591459],[39.49577657,.3631926],[39.59569329,.3672728],[39.69560863,.3713868],[39.79552257,.3755346],[39.89543509,.3797164],[39.99534618,.3839324],[40.09525581,.3881828],[40.19516397,.3924677],[40.29507063,.3967873],[40.39497577,.4011418],[40.49487939,.4055313],[40.59478145,.409956],[40.69468194,.414416],[40.79458084,.4189116],[40.89447812,.4234429],[40.99437377,.4280101],[41.09426776,.4326133],[41.19416008,.4372527],[41.29405071,.4419285],[41.39393962,.4466408],[41.49382679,.4513899],[41.5937122,.4561758],[41.69359582,.4609987],[41.79347765,.4658589],[41.89335765,.4707564],[41.9932358,.4756915],[42.09311208,.4806643],[42.19298646,.485675],[42.29285893,.4907237],[42.39272946,.4958106],[42.49259803,.5009359],[42.59246461,.5060998],[42.69232919,.5113024],[42.79219173,.5165439],[42.89205221,.5218244],[42.99191061,.5271442],[43.0917669,.5325033],[43.19162106,.537902],[43.29147307,.5433404],[43.3913229,.5488187],[43.49117052,.5543371],[43.59101591,.5598957],[43.69085904,.5654947],[43.79069989,.5711342],[43.89053844,.5768145],[43.99037464,.5825357],[44.09020849,.5882979],[44.19003995,.5941013],[44.28986899,.5999461],[44.38969559,.6058325],[44.48951972,.6117606],[44.58934136,.6177306],[44.68916047,.6237427],[44.78897703,.629797],[44.88879101,.6358936],[44.98860238,.6420328],[45.08841112,.6482148],[45.18821719,.6544396],[45.28802056,.6607075],[45.38782121,.6670185],[45.48761911,.673373],[45.58741423,.679771],[45.68720653,.6862127],[45.786996,.6926983],[45.88678259,.6992279],[45.98656628,.7058017],[46.08634704,.7124199],[46.18612483,.7190826],[46.28589963,.72579],[46.3856714,.7325423],[46.48544012,.7393396],[46.58520575,.746182],[46.68496826,.7530698],[46.78472761,.7600032],[46.88448378,.7669821],[46.98423674,.774007],[47.08398644,.7810778],[47.18373286,.7881947],[47.28347597,.795358],[47.38321572,.8025678],[47.4829521,.8098242],[47.58268506,.8171274],[47.68241457,.8244775],[47.78214059,.8318748],[47.8818631,.8393194],[47.98158205,.8468114],[48.08129742,.854351],[48.18100916,.8619384],[48.28071724,.8695737],[48.38042163,.8772571],[48.48012229,.8849887],[48.57981919,.8927687],[48.67951229,.9005973],[48.77920155,.9084745],[48.87888693,.9164007],[48.97856841,.9243758],[49.07824593,.9324002],[49.17791948,.9404739],[49.277589,.9485971],[49.37725446,.95677],[49.47691583,.9649926],[49.57657305,.9732652],[49.67622611,.981588],[49.77587496,.989961],[49.87551955,.9983845],[49.97515986,1.0068585],[50.07479583,1.0153833],[50.17442744,1.0239589],[50.27405465,1.0325856],[50.3736774,1.0412636],[50.47329568,1.0499928],[50.57290942,1.0587736],[50.6725186,1.067606],[50.77212317,1.0764902],[50.87172309,1.0854264],[50.97131832,1.0944147],[51.07090882,1.1034552],[51.17049456,1.1125482],[51.27007547,1.1216937],[51.36965154,1.1308919],[51.4692227,1.140143],[51.56878893,1.1494471],[51.66835018,1.1588043],[51.7679064,1.1682149],[51.86745755,1.1776789],[51.9670036,1.1871965],[52.06654449,1.1967678],[52.16608019,1.206393],[52.26561064,1.2160723],[52.36513582,1.2258058],[52.46465566,1.2355935],[52.56417013,1.2454358],[52.66367919,1.2553326],[52.76318278,1.2652842],[52.86268087,1.2752908],[52.9621734,1.2853523],[53.06166034,1.2954691],[53.16114164,1.3056412],[53.26061725,1.3158687],[53.36008712,1.3261519],[53.45955122,1.3364908],[53.55900949,1.3468856],[53.65846189,1.3573365],[53.75790836,1.3678435],[53.85734888,1.3784069],[53.95678338,1.3890267],[54.05621181,1.3997031],[54.15563415,1.4104362],[54.25505032,1.4212262],[54.35446029,1.4320731],[54.45386402,1.4429773],[54.55326144,1.4539387],[54.65265251,1.4649575],[54.75203719,1.4760338],[54.85141542,1.4871678],[54.95078716,1.4983597],[55.05015236,1.5096095],[55.14951096,1.5209173],[55.24886292,1.5322834],[55.34820819,1.5437078],[55.44754672,1.5551907],[55.54687845,1.5667322],[55.64620334,1.5783324],[55.74552134,1.5899915],[55.8448324,1.6017096],[55.94413646,1.6134868],[56.04343348,1.6253233],[56.1427234,1.6372192],[56.24200618,1.6491745],[56.34128175,1.6611895],[56.44055008,1.6732642],[56.5398111,1.6853989],[56.63906476,1.6975935],[56.73831102,1.7098483],[56.83754982,1.7221634],[56.93678111,1.7345388],[57.03600483,1.7469747],[57.13522094,1.7594713],[57.23442938,1.7720286],[57.33363009,1.7846468],[57.43282302,1.7973259],[57.53200813,1.8100662],[57.63118535,1.8228677],[57.73035463,1.8357306],[57.82951592,1.8486549],[57.92866916,1.8616409],[58.0278143,1.8746885],[58.12695128,1.8877979],[58.22608006,1.9009693],[58.32520057,1.9142028],[58.42431276,1.9274984],[58.52341658,1.9408563],[58.62251196,1.9542766],[58.72159886,1.9677594],[58.82067722,1.9813048],[58.91974698,1.994913],[59.01880809,2.008584],[59.11786048,2.022318],[59.21690412,2.036115],[59.31593893,2.0499752],[59.41496486,2.0638987],[59.51398186,2.0778857],[59.61298987,2.0919361],[59.71198883,2.1060501],[59.81097869,2.1202278],[59.90995938,2.1344694],[60.00893085,2.1487749],[60.10789305,2.1631444],[60.20684591,2.1775781],[60.30578938,2.192076],[60.4047234,2.2066382],[60.50364792,2.2212649],[60.60256286,2.2359562],[60.70146819,2.2507121],[60.80036383,2.2655327],[60.89924973,2.2804182],[60.99812583,2.2953687],[61.09699207,2.3103842],[61.1958484,2.3254649],[61.29469475,2.3406108],[61.39353107,2.355822],[61.4923573,2.3710987],[61.59117337,2.3864409],[61.68997923,2.4018487],[61.78877482,2.4173223],[61.88756007,2.4328617],[61.98633494,2.448467],[62.08509936,2.4641383],[62.18385327,2.4798757],[62.2825966,2.4956792],[62.38132931,2.5115491],[62.48005133,2.5274853],[62.5787626,2.543488],[62.67746305,2.5595572],[62.77615264,2.575693],[62.87483129,2.5918956],[62.97349896,2.6081649],[63.07215557,2.6245012],[63.17080106,2.6409044],[63.26943538,2.6573747],[63.36805847,2.6739121],[63.46667026,2.6905168],[63.56527069,2.7071887],[63.66385971,2.7239281],[63.76243725,2.7407349],[63.86100324,2.7576092],[63.95955763,2.7745512],[64.05810036,2.791561],[64.15663136,2.8086385],[64.25515058,2.8257838],[64.35365795,2.8429971],[64.4521534,2.8602785],[64.55063689,2.8776279],[64.64910834,2.8950455],[64.7475677,2.9125313],[64.84601489,2.9300855],[64.94444987,2.9477081],[65.04287257,2.9653991],[65.14128292,2.9831587],[65.23968087,3.0009868],[65.33806634,3.0188837],[65.43643929,3.0368493],[65.53479965,3.0548837],[65.63314734,3.072987],[65.73148232,3.0911593],[65.82980452,3.1094006],[65.92811388,3.127711],[66.02641033,3.1460905],[66.12469382,3.1645392],[66.22296427,3.1830573],[66.32122163,3.2016446],[66.41946584,3.2203014],[66.51769682,3.2390277],[66.61591453,3.2578235],[66.71411889,3.2766889],[66.81230984,3.2956239],[66.91048733,3.3146287],[67.00865128,3.3337033],[67.10680164,3.3528476],[67.20493833,3.3720619],[67.30306131,3.3913461],[67.4011705,3.4107003],[67.49926585,3.4301246],[67.59734728,3.449619],[67.69541475,3.4691836],[67.79346817,3.4888184],[67.8915075,3.5085234],[67.98953267,3.5282988],[68.08754361,3.5481446],[68.18554026,3.5680608],[68.28352256,3.5880475],[68.38149045,3.6081048],[68.47944386,3.6282326],[68.57738273,3.648431],[68.675307,3.6687001],[68.7732166,3.68904],[68.87111148,3.7094506],[68.96899156,3.7299321],[69.06685678,3.7504843],[69.16470709,3.7711076],[69.26254242,3.7918017],[69.36036271,3.8125669],[69.45816788,3.8334031],[69.55595789,3.8543103],[69.65373267,3.8752887],[69.75149215,3.8963383],[69.84923627,3.917459],[69.94696497,3.938651],[70.04467819,3.9599143],[70.14237586,3.9812489],[70.24005792,4.0026548],[70.33772431,4.0241321],[70.43537497,4.0456809],[70.53300982,4.0673011],[70.63062882,4.0889928],[70.7282319,4.1107561],[70.82581899,4.1325909],[70.92339003,4.1544973],[71.02094496,4.1764754],[71.11848372,4.1985251],[71.21600625,4.2206465],[71.31351248,4.2428396],[71.41100234,4.2651045],[71.50847579,4.2874412],[71.60593275,4.3098497],[71.70337317,4.33233],[71.80079698,4.3548822],[71.89820411,4.3775063],[71.99559452,4.4002023],[72.09296813,4.4229702],[72.19032488,4.4458102],[72.28766471,4.4687221],[72.38498757,4.491706],[72.48229338,4.514762],[72.57958209,4.5378901],[72.67685363,4.5610902],[72.77410795,4.5843624],[72.87134498,4.6077068],[72.96856465,4.6311234],[73.06576692,4.6546121],[73.16295171,4.6781729],[73.26011897,4.701806],[73.35726863,4.7255114],[73.45440064,4.7492889],[73.55151493,4.7731388],[73.64861144,4.7970609],[73.74569011,4.8210553],[73.84275088,4.845122],[73.93979369,4.869261],[74.03681848,4.8934724],[74.13382518,4.9177561],[74.23081374,4.9421122],[74.3277841,4.9665406],[74.42473619,4.9910415],[74.52166996,5.0156147],[74.61858534,5.0402604],[74.71548227,5.0649785],[74.8123607,5.089769],[74.90922057,5.1146319],[75.00606181,5.1395673],[75.10288436,5.1645752],[75.19968817,5.1896555],[75.29647317,5.2148083],[75.3932393,5.2400336],[75.48998652,5.2653313],[75.58671474,5.2907016],[75.68342393,5.3161443],[75.78011401,5.3416596],[75.87678493,5.3672473],[75.97343662,5.3929076],[76.07006904,5.4186403],[76.16668212,5.4444456],[76.26327579,5.4703235],[76.35985001,5.4962738],[76.45640471,5.5222966],[76.55293984,5.548392],[76.64945533,5.5745599],[76.74595114,5.6008003],[76.84242719,5.6271133],[76.93888343,5.6534988],[77.0353198,5.6799568],[77.13173625,5.7064873],[77.22813271,5.7330903],[77.32450913,5.7597659],[77.42086545,5.7865139],[77.51720161,5.8133345],[77.61351756,5.8402276],[77.70981323,5.8671932],[77.80608857,5.8942313],[77.90234353,5.9213418],[77.99857803,5.9485249],[78.09479204,5.9757805],[78.19098548,6.0031085],[78.2871583,6.030509],[78.38331045,6.057982],[78.47944187,6.0855274],[78.5755525,6.1131452],[78.67164228,6.1408356],[78.76771116,6.1685983],[78.86375908,6.1964335],[78.95978598,6.2243411],[79.05579181,6.2523211],[79.15177651,6.2803735],[79.24774002,6.3084982],[79.34368229,6.3366954],[79.43960327,6.3649649],[79.53550289,6.3933068],[79.63138109,6.4217211],[79.72723783,6.4502076],[79.82307305,6.4787665],[79.91888669,6.5073977],[80.0146787,6.5361012],[80.11044901,6.564877],[80.20619758,6.5937251],[80.30192434,6.6226455],[80.39762925,6.651638],[80.49331225,6.6807029],[80.58897328,6.7098399],[80.68461228,6.7390492],[80.78022921,6.7683306],[80.875824,6.7976842],[80.9713966,6.82711],[81.06694696,6.856608],[81.16247502,6.886178],[81.25798072,6.9158202],[81.35346402,6.9455345],[81.44892485,6.9753209],[81.54436316,7.0051794],[81.6397789,7.0351099],[81.73517201,7.0651125],[81.83054243,7.0951871],[81.92589012,7.1253337],[82.02121501,7.1555523],[82.11651706,7.1858429],[82.21179621,7.2162054],[82.3070524,7.2466399],[82.40228558,7.2771463],[82.49749569,7.3077246],[82.59268269,7.3383749],[82.68784651,7.3690969],[82.7829871,7.3998909],[82.87810441,7.4307567],[82.97319839,7.4616943],[83.06826897,7.4927037],[83.16331611,7.5237849],[83.25833975,7.5549379],[83.35333983,7.5861626],[83.44831631,7.617459],[83.54326913,7.6488272],[83.63819823,7.6802671],[83.73310356,7.7117786],[83.82798506,7.7433619],[83.92284269,7.7750167],[84.01767638,7.8067432],[84.11248609,7.8385413],[84.20727176,7.870411],[84.30203333,7.9023522],[84.39677076,7.934365],[84.49148398,7.9664494],[84.58617294,7.9986053],[84.68083759,8.0308326],[84.77547788,8.0631315],[84.87009375,8.0955018],[84.96468515,8.1279435],[85.05925202,8.1604567],[85.15379431,8.1930413],[85.24831196,8.2256973],[85.34280493,8.2584246],[85.43727315,8.2912233],[85.53171658,8.3240933],[85.62613516,8.3570346],[85.72052883,8.3900473],[85.81489755,8.4231312],[85.90924126,8.4562863],[86.0035599,8.4895127],[86.09785342,8.5228103],[86.19212177,8.5561792],[86.28636489,8.5896192],[86.38058274,8.6231303],[86.47477524,8.6567126],[86.56894236,8.690366],[86.66308404,8.7240906],[86.75720022,8.7578862],[86.85129085,8.7917529],[86.94535588,8.8256906],[87.03939526,8.8596994],[87.13340892,8.8937792],[87.22739681,8.9279299],[87.32135889,8.9621517],[87.41529509,8.9964444],[87.50920537,9.030808],[87.60308968,9.0652425],[87.69694795,9.099748],[87.79078014,9.1343242],[87.88458619,9.1689714],[87.97836605,9.2036894],[88.07211967,9.2384781],[88.16584699,9.2733377],[88.25954796,9.308268],[88.35322252,9.3432691],[88.44687063,9.3783409],[88.54049223,9.4134834],[88.63408726,9.4486966],[88.72765567,9.4839805],[88.82119741,9.519335],[88.91471243,9.5547601],[89.00820068,9.5902558],[89.10166208,9.6258222],[89.19509658,9.6614592],[89.28850414,9.6971667],[89.38188471,9.7329448],[89.47523825,9.7687933],[89.56856467,9.8047123],[89.66186393,9.8407019],[89.75513599,9.8767619],[89.84838079,9.9128923],[89.94159828,9.9490931],[90.0347884,9.9853643],[90.12795111,10.0217059],[90.22108634,10.0581178],[90.31419405,10.0946001],[90.40727425,10.1311524],[90.50032674,10.1677753],[90.59335155,10.2044684],[90.68634863,10.2412317],[90.77931796,10.2780652],[90.87225941,10.3149689],[90.96517299,10.3519428],[91.05805858,10.3889869],[91.15091618,10.4261012],[91.24374572,10.4632855],[91.33654715,10.5005399],[91.42932043,10.5378644],[91.5220655,10.575259],[91.6147823,10.6127236],[91.70747091,10.6502578],[91.80013103,10.6878624],[91.89276272,10.7255369],[91.98536593,10.7632813],[92.07794062,10.8010957],[92.17048672,10.83898],[92.26300429,10.8769339],[92.35549305,10.9149579],[92.44795306,10.9530518],[92.54038428,10.9912156],[92.63278665,11.0294491],[92.72516012,11.0677524],[92.81750464,11.1061254],[92.90982016,11.1445681],[93.00210662,11.1830806],[93.09436398,11.2216627],[93.18659218,11.2603144],[93.27879116,11.2990359],[93.37096087,11.3378269],[93.46310127,11.3766875],[93.55521231,11.4156176],[93.64729412,11.4546168],[93.73934626,11.493686],[93.83136886,11.5328247],[93.9233619,11.5720329],[94.01532526,11.6113106],[94.10725892,11.6506578],[94.19916284,11.6900744],[94.29103697,11.7295604],[94.38288125,11.7691158],[94.47469564,11.8087406],[94.56648003,11.8484347],[94.65823446,11.8881981],[94.74995883,11.9280307],[94.8416531,11.9679326],[94.93331721,12.0079037],[95.02495112,12.0479441],[95.11655477,12.0880536],[95.20812821,12.128232],[95.29967132,12.1684794],[95.39118383,12.2087964],[95.48266587,12.2491825],[95.57411726,12.289638],[95.66553817,12.3301623],[95.75692844,12.3707556],[95.84828804,12.4114179],[95.9396169,12.4521492],[96.03091497,12.4929495],[96.12218253,12.533818],[96.2134189,12.5747561],[96.30462432,12.615763],[96.39579875,12.6568389],[96.48694214,12.6979835],[96.57805444,12.739197],[96.66913589,12.7804785],[96.76018585,12.8218295],[96.85120455,12.8632492],[96.94219193,12.9047377],[97.03314797,12.9462949],[97.12407261,12.9879207],[97.21496579,13.0296152],[97.30582746,13.0713783],[97.39665758,13.11321],[97.48745609,13.1551102],[97.57822273,13.1970794],[97.66895779,13.2391169],[97.75966112,13.2812227],[97.85033264,13.323397],[97.94097228,13.3656398],[98.03158006,13.4079509],[98.12215634,13.4503293],[98.21270008,13.4927772],[98.30321172,13.5352936],[98.39369122,13.5778783],[98.48413857,13.6205312],[98.57455366,13.6632526],[98.6649364,13.7060423],[98.75528684,13.7489001],[98.8456049,13.7918262],[98.93589051,13.8348205],[99.02614363,13.8778829],[99.1163642,13.9210135],[99.20655218,13.9642122],[99.2967075,14.007479],[99.38683013,14.0508139],[99.47692028,14.0942161],[99.56697731,14.1376872],[99.65700146,14.1812263],[99.74699272,14.2248334],[99.83695102,14.2685084],[99.92687629,14.3122514],[100.0167685,14.3560623],[100.1066276,14.3999411],[100.1964535,14.4438877],[100.2862462,14.4879022],[100.3760057,14.5319844],[100.4657318,14.5761344],[100.5554246,14.6203521],[100.645084,14.6646376],[100.7347094,14.7089917],[100.8243015,14.7534132],[100.9138606,14.7979008],[101.0033857,14.8424571],[101.0928772,14.8870808],[101.1823352,14.9317715],[101.27176,14.9765286],[101.3611502,15.0213549],[101.4505065,15.0662487],[101.539829,15.1112097],[101.6291174,15.1562384],[101.7183718,15.2013346],[101.8075913,15.2464996],[101.8967774,15.2917307],[101.9859293,15.337029],[102.075047,15.3823946],[102.1641314,15.4278256],[102.2531805,15.4733256],[102.3421952,15.5188929],[102.4311756,15.5645271],[102.5201215,15.6102288],[102.6090328,15.6559976],[102.6979095,15.7018334],[102.7867516,15.7477364],[102.8755588,15.7937068],[102.9643315,15.8397438],[103.0530693,15.885848],[103.1417724,15.9320191],[103.2304405,15.9782571],[103.3190737,16.0245621],[103.407672,16.0709338],[103.4962353,16.1173724],[103.5847633,16.1638781],[103.6732562,16.2104507],[103.7617139,16.2570901],[103.8501364,16.3037962],[103.9385221,16.3505722],[104.0268738,16.397412],[104.1151902,16.4443184],[104.2034711,16.4912915],[104.2917181,16.5383282],[104.379928,16.5854345],[104.4681024,16.6326074],[104.5562411,16.6798468],[104.6443441,16.7271528],[104.7324115,16.7745248],[104.820443,16.8219637],[104.9084389,16.8694685],[104.996398,16.9170418],[105.0843216,16.9646804],[105.1722092,17.0123853],[105.2600608,17.0601567],[105.3478763,17.1079943],[105.4356557,17.1558982],[105.5233988,17.2038684],[105.611107,17.2519021],[105.6987776,17.3000046],[105.7864119,17.3481734],[105.8740098,17.3964083],[105.9615713,17.4447094],[106.0490962,17.4930766],[106.1365846,17.5415098],[106.2240364,17.5900092],[106.3114515,17.6385745],[106.3988305,17.6872046],[106.4861721,17.7359021],[106.573477,17.7846654],[106.660745,17.8334946],[106.7479761,17.8823897],[106.8351703,17.9313507],[106.9223276,17.9803773],[107.0094477,18.02947],[107.0965307,18.0786284],[107.1835747,18.1278564],[107.2705833,18.1771465],[107.3575547,18.2265022],[107.4444887,18.2759236],[107.5313874,18.3254066],[107.6182468,18.3749591],[107.7050687,18.4245772],[107.7918532,18.4742608],[107.8786001,18.52401],[107.9653096,18.5738243],[108.0519813,18.6237044],[108.1386152,18.67365],[108.2252114,18.7236611],[108.3117693,18.7737386],[108.3982898,18.8238805],[108.4847724,18.8740877],[108.5712171,18.9243603],[108.657623,18.9746995],[108.7439916,19.0251025],[108.8303231,19.0755693],[108.9166159,19.126102],[109.0028701,19.1767005],[109.0890861,19.2273642],[109.1752642,19.2780924],[109.2614036,19.3288862],[109.3475046,19.3797451],[109.4335672,19.4306689],[109.5195913,19.4816577],[109.6055769,19.5327115],[109.6915212,19.5838348],[109.7774295,19.6350184],[109.8633016,19.6862628],[109.9491325,19.737576],[110.0349248,19.788954],[110.1206785,19.8403961],[110.206393,19.8919037],[110.2920687,19.9434757],[110.3777053,19.9951126],[110.4633029,20.0468142],[110.5488614,20.0985804],[110.6343804,20.1504123],[110.7198606,20.2023079],[110.8053015,20.2542679],[110.8907032,20.3062925],[110.9760657,20.3583815],[111.0613887,20.4105349],[111.1466723,20.4627528],[111.2319166,20.5150349],[111.3171225,20.5673785],[111.4022878,20.6197892],[111.4874133,20.6722644],[111.5724992,20.7248036],[111.657543,20.777412],[111.7425495,20.8300799],[111.8275165,20.8828109],[111.9124393,20.935614],[111.997329,20.9884687],[112.0821801,21.041386],[112.1669871,21.0943743],[112.2517541,21.1474266],[112.336481,21.2005429],[112.4211678,21.2537232],[112.5058144,21.3069674],[112.5904204,21.360276],[112.6749865,21.413648],[112.7595123,21.4670838],[112.8439973,21.5205842],[112.9284425,21.5741473],[113.012847,21.6277743],[113.0972104,21.6814662],[113.1815338,21.7352207],[113.2658167,21.7890389],[113.3500594,21.8429192],[113.4342613,21.8968637],[113.5184225,21.9508717],[113.6025424,22.0049442],[113.6866213,22.0590802],[113.7706594,22.1132798],[113.8546566,22.1675427],[113.9386127,22.2218691],[114.0225278,22.2762589],[114.1064015,22.3307126],[114.1902343,22.3852291],[114.274026,22.4398089],[114.3577763,22.4944519],[114.4414854,22.5491582],[114.5251532,22.6039277],[114.6087796,22.6587604],[114.6923645,22.7136562],[114.7759075,22.7686159],[114.8594094,22.8236379],[114.9428702,22.8787221],[115.0262889,22.9338702],[115.1096665,22.9890804],[115.1930018,23.0443544],[115.2762898,23.0997011],[115.3595414,23.1551012],[115.442757,23.210554],[115.525925,23.2660796],[115.609051,23.321668],[115.692135,23.3773192],[115.7751769,23.4330331],[115.8581767,23.4888097],[115.9411344,23.544649],[116.0240499,23.600551],[116.1069231,23.6565156],[116.189754,23.7125427],[116.2725426,23.7686325],[116.3552889,23.8247847],[116.4379926,23.8809994],[116.520654,23.9372766],[116.6032727,23.9936162],[116.6858489,24.0500182],[116.7683825,24.1064825],[116.8508732,24.1630095],[116.9333214,24.2195985],[117.0157268,24.2762498],[117.0980895,24.3329632],[117.1804092,24.389739],[117.262686,24.4465769],[117.3449198,24.503477],[117.4271107,24.5604391],[117.5092554,24.6174697],[117.59136,24.6745561],[117.6734208,24.7317058],[117.7554386,24.7889174],[117.8374171,24.8461827],[117.9193485,24.9035175],[118.001237,24.9609135],[118.0830822,25.0183713],[118.164885,25.0758891],[118.2466425,25.1334717],[118.3283552,25.1911177],[118.4100301,25.2488159],[118.4916578,25.3065821],[118.5732426,25.3644088],[118.6547825,25.4222992],[118.7362791,25.4802502],[118.8177319,25.5382627],[118.899141,25.5963365],[118.9805061,25.654472],[119.0618273,25.7126689],[119.1431046,25.7709272],[119.2243378,25.8292469],[119.3055275,25.8876267],[119.3866666,25.9460775],[119.4677674,26.0045811],[119.5488301,26.0631373],[119.6298425,26.1217633],[119.7108106,26.1804503],[119.7917344,26.2391986],[119.8726138,26.2980079],[119.9534414,26.356891],[120.0342318,26.4158225],[120.1149852,26.474802],[120.1956859,26.5338563],[120.2763428,26.5929704],[120.3569549,26.6521455],[120.437523,26.7113804],[120.518046,26.7706763],[120.5985238,26.8300339],[120.6789568,26.8894523],[120.7593449,26.9489314],[120.839688,27.0084712],[120.9199861,27.0680717],[121.0002393,27.1277327],[121.0804473,27.1874543],[121.1606103,27.2472364],[121.2407281,27.3070791],[121.3208004,27.3669828],[121.4008277,27.4269464],[121.4808097,27.4869704],[121.5607463,27.5470547],[121.6406376,27.6071994],[121.7204732,27.6674189],[121.8002838,27.7276694],[121.8800387,27.7879948],[121.959748,27.8483803],[122.0394124,27.9088242],[122.1190304,27.96933],[122.1986031,28.0298949],[122.2781297,28.0905209],[122.3576103,28.1512071],[122.4370452,28.211953],[122.5164342,28.2727589],[122.5957774,28.3336246],[122.6750745,28.3945503],[122.7543256,28.4555358],[122.8335306,28.5165812],[122.9126885,28.577688],[122.9918012,28.6388529],[123.0708677,28.7000775],[123.149888,28.7613618],[123.228862,28.8227057],[123.3077905,28.8841077],[123.3866718,28.9455708],[123.4655062,29.007094],[123.5442945,29.0686761],[123.6230355,29.1303193],[123.7017301,29.1920213],[123.7803788,29.2537816],[123.8589808,29.3156014],[123.9375369,29.3774793],[124.0160454,29.4394178],[124.094508,29.501414],[124.1729228,29.5634711],[124.2512908,29.6255874],[124.3296118,29.6877628],[124.4078858,29.7499974],[124.4861128,29.8122911],[124.5642928,29.8746439],[124.6424256,29.9370557],[124.7205113,29.9995265],[124.798546,30.0620638],[124.8765371,30.1246528],[124.9544809,30.1873006],[125.0323773,30.2500074],[125.1102264,30.3127728],[125.1880179,30.375609],[125.2657722,30.4384919],[125.3434935,30.5014127],[125.4211528,30.564413],[125.4987644,30.6274718],[125.5763284,30.6905893],[125.6538446,30.7537654],[125.7313125,30.8170009],[125.8087332,30.880294],[125.8860971,30.9436613],[125.963422,31.007072],[126.0406989,31.0705407],[126.1179374,31.1340515],[126.1951186,31.1976366],[126.2722517,31.2612801],[126.3493367,31.3249818],[126.4263736,31.3887416],[126.5033623,31.4525596],[126.5803029,31.5164359],[126.657195,31.5803704],[126.7340388,31.644363],[126.8108343,31.7084136],[126.8875814,31.7725222],[126.9642801,31.8366887],[127.0409302,31.9009131],[127.1175319,31.9651955],[127.194085,32.0295356],[127.2705913,32.0939294],[127.3470471,32.158385],[127.4234543,32.2228984],[127.4998127,32.2874694],[127.5761224,32.3520981],[127.6523832,32.4167845],[127.7285951,32.4815284],[127.8047581,32.5463299],[127.8808719,32.611189],[127.956937,32.6761055],[128.032953,32.7410793],[128.1089199,32.8061106],[128.1848376,32.8711993],[128.2607062,32.9363453],[128.3365255,33.0015486],[128.4122943,33.066811],[128.488015,33.1321287],[128.5636865,33.1975036],[128.6393085,33.2629356],[128.7148822,33.328423],[128.7904053,33.3939692],[128.8658789,33.45957243],[128.9413016,33.52523468],[129.0166755,33.59095242],[129.0920003,33.65672635],[129.1672758,33.72255677],[129.2425,33.78844583],[129.3176769,33.85438812],[129.3928026,33.92038942],[129.4678785,33.98644745],[129.5429053,34.05256105],[129.6178812,34.11873251],[129.6928071,34.18496053],[129.7676831,34.2512451],[129.8425089,34.31758616],[129.9172847,34.38398376],[129.9919913,34.45046471],[130.0666804,34.51695404],[130.1413055,34.58352084],[130.2158851,34.65013897],[130.2904096,34.71681849],[130.3648837,34.78355425],[130.4393073,34.85034621],[130.5136805,34.91719432],[130.5880032,34.9840986],[130.6622754,35.05105898],[130.7364969,35.1180754],[130.8106679,35.18514783],[130.8847882,35.25227622],[130.9588581,35.31945945],[131.0328764,35.38670062],[131.1068443,35.45399693],[131.1807614,35.52134907],[131.2546131,35.58877329],[131.3284422,35.65622148],[131.4022066,35.72374079],[131.4759206,35.791315],[131.549584,35.85894381],[131.6231951,35.92663009],[131.6967552,35.99437192],[131.7702641,36.0621693],[131.8437217,36.13002213],[131.9171281,36.19793048],[131.9904832,36.26589414],[132.0637869,36.33391315],[132.1370393,36.40198751],[132.2102403,36.4701171],[132.2833898,36.53830192],[132.3564878,36.60654191],[132.4295343,36.67483704],[132.5025292,36.74318728],[132.5754733,36.81159053],[132.6483649,36.88005087],[132.7212048,36.94856622],[132.7939928,37.01713663],[132.8667292,37.08576182],[132.9394137,37.15444201],[133.0120463,37.22317699],[133.084627,37.29196682],[133.1571557,37.36081136],[133.2296323,37.42971076],[133.3020461,37.49868364],[133.3744185,37.56769247],[133.446739,37.63675582],[133.5189937,37.70588213],[133.5912099,37.77505437],[133.6633987,37.84425311],[133.7355057,37.91354346],[133.8075648,37.98287944],[133.8795715,38.05226976],[133.9515258,38.12171438],[134.0234263,38.19121502],[134.0952809,38.26075769],[134.1670779,38.33036473],[134.2388224,38.40002593],[134.3105153,38.46973972],[134.3821541,38.53950964],[134.4537389,38.60933554],[134.5252729,38.67921279],[134.5967538,38.74914433],[134.6681819,38.81912979],[134.7395585,38.8891671],[134.8108797,38.95926164],[134.8821491,39.02940869],[134.9533647,39.09961111],[135.0245289,39.16986469],[135.0956391,39.24017309],[135.1666963,39.31053513],[135.2377001,39.3809509],[135.3086509,39.45142015],[135.3795485,39.52194294],[135.4503927,39.59251934],[135.5211845,39.66314745],[135.5919221,39.73383065],[135.6626063,39.80456724],[135.7332371,39.87535717],[135.8038144,39.94620041],[135.8743382,40.01709692],[135.9448085,40.08804666],[136.0152017,40.159083],[136.0855645,40.23013924],[136.1558974,40.30121492],[136.226153,40.37237721],[136.2963549,40.44359257],[136.3665014,40.51486332],[136.4365956,40.58618469],[136.5066359,40.65755895],[136.5766223,40.72898609],[136.6465541,40.80046668],[136.716434,40.87199711],[136.7862583,40.94358261],[136.8560292,41.01522029],[136.9257453,41.08691132],[136.9954072,41.15865492],[137.0649796,41.23049095],[137.1345677,41.30230173],[137.2040668,41.37420332],[137.2735116,41.44615733],[137.3429021,41.51816376],[137.4122382,41.59022257],[137.4815198,41.66233372],[137.550747,41.73449716],[137.6199196,41.80671285],[137.6890377,41.87898076],[137.7581012,41.95130084],[137.8271123,42.0236681],[137.8960665,42.09609231],[137.9649661,42.16856856],[138.0338109,42.24109683],[138.102601,42.31367701],[138.1713361,42.38630924],[138.2400164,42.4589934],[138.3086417,42.53172935],[138.3772122,42.60451709],[138.4457277,42.67735664],[138.514188,42.75024804],[138.5825933,42.82319102],[138.6509435,42.89618566],[138.7192386,42.9692319],[138.7874784,43.04232988],[138.855663,43.11547939],[138.9237924,43.18868028],[138.9918664,43.26193261],[139.0598852,43.33523636],[139.1278486,43.40859144],[139.1957565,43.48199791],[139.2636089,43.55545568],[139.3314057,43.62896491],[139.3991471,43.70252514],[139.4668329,43.77613654],[139.5344632,43.84979903],[139.6020365,43.92351411],[139.6695553,43.99727878],[139.7370185,44.07109444],[139.804427,44.14495969],[139.8717784,44.2188773],[139.9390728,44.29284803],[140.0063125,44.36686737],[140.0734947,44.44093967],[140.1406226,44.51508185],[140.2076935,44.58925304],[140.2747094,44.66347475],[140.3416707,44.73774703],[140.4085763,44.81206992],[140.4754238,44.8864432],[140.542215,44.96086822],[140.6089501,45.03534398],[140.6756285,45.10986868],[140.742251,45.18444365],[140.8088171,45.25906899],[140.8753269,45.33374535],[140.9417803,45.4084696],[141.0081772,45.48324432],[141.0745176,45.55807038],[141.1408016,45.63294809],[141.2070289,45.70787422],[141.2731997,45.78285029],[141.3393137,45.85787633],[141.4053711,45.93295083],[141.4713718,46.00807584],[141.5373163,46.08325168],[141.6032034,46.15847818],[141.6690334,46.23375326],[141.7348068,46.30907815],[141.8004775,46.38448646],[141.8661351,46.45987628],[141.9317835,46.53535003],[141.9973289,46.61087329],[142.0628174,46.68644744],[142.1282488,46.76206954],[142.1936116,46.83774053],[142.2589284,46.91346138],[142.324188,46.98923034],[142.3894041,47.06504982],[142.4545494,47.14091791],[142.5196374,47.21683585],[142.584668,47.2928029],[142.6496413,47.36884315],[142.7145571,47.44490845],[142.7794155,47.52101094],[142.8442164,47.59717423],[142.9089596,47.67338641],[142.9736454,47.7496345],[143.0382735,47.82594423],[143.102844,47.90230281],[143.1673568,47.97871008],[143.2318123,48.05516602],[143.2962096,48.13167151],[143.3605206,48.20822619],[143.4248021,48.28482822],[143.4890542,48.36147862],[143.5532201,48.43817648],[143.6173279,48.51492384],[143.6813779,48.59171957],[143.7453697,48.66856394],[143.8093036,48.74545541],[143.8731794,48.82240106],[143.936997,48.89938253],[144.0007565,48.97641945],[144.0644578,49.05350445],[144.128101,49.13063757],[144.1916805,49.2078187],[144.2552069,49.28504785],[144.3186749,49.36232491],[144.3820845,49.43966419],[144.4454357,49.51702281],[144.5087344,49.59444348],[144.5719688,49.67191191],[144.6351448,49.74942807],[144.6982621,49.8269919],[144.7613219,49.90460337],[144.824322,49.98226243],[144.8872624,50.05996978],[144.9501453,50.13772386],[145.0129694,50.21552973],[145.0757012,50.29337893],[145.1384417,50.37127539],[145.2010877,50.44921929],[145.2636768,50.52721047],[145.3262058,50.6052489],[145.3886767,50.68332883],[145.4510887,50.76146149],[145.5134416,50.83970429],[145.5757355,50.91790684],[145.6379704,50.996142],[145.7001462,51.07446284],[145.7622643,51.15283217],[145.8243216,51.2312481],[145.8863198,51.30970967],[145.9482597,51.38821793],[146.0101391,51.46677467],[146.0719594,51.54537484],[146.1337201,51.62402315],[146.1954215,51.702719],[146.2570635,51.78145935],[146.318646,51.86024598],[146.3801691,51.93908066],[146.4416325,52.01796188],[146.5030365,52.09688962],[146.5643807,52.17586342],[146.6256652,52.2548851],[146.6868901,52.33395099],[146.7480552,52.41306355],[146.8091607,52.49222176],[146.8702065,52.57142536],[146.9311923,52.65067641],[146.9921184,52.7299735],[147.0529846,52.80931653],[147.1137907,52.8887055],[147.1745369,52.96817435],[147.2352232,53.04762129],[147.2957902,53.12714785],[147.3564135,53.20672016],[147.4169196,53.2863382],[147.4773656,53.36602878],[147.5377514,53.44573816],[147.5980787,53.52546734],[147.6583439,53.60526595],[147.7184917,53.68511186],[147.7786937,53.7650032],[147.838778,53.84493996],[147.898802,53.92492198],[147.9587655,54.00494941],[148.0186686,54.0850348],[148.0785113,54.16515306],[148.1382935,54.24531625],[148.1980151,54.32551212],[148.2576761,54.40576472],[148.3172765,54.48606312],[148.3768163,54.56640652],[148.4362954,54.64682321],[148.4957137,54.72725556],[148.5550713,54.80773275],[148.6143681,54.88825473],[148.673604,54.96882142],[148.7327792,55.0494328],[148.7918934,55.1300888],[148.8509467,55.21078939],[148.9099391,55.29153453],[148.9688704,55.37232424],[149.0277408,55.4531583],[149.0865502,55.53403676],[149.1452976,55.61496157],[149.2039846,55.695929],[149.2626105,55.77694069],[149.321175,55.85799686],[149.3796783,55.9390971],[149.4381205,56.02024129],[149.4965015,56.10142955],[149.5548213,56.1826618],[149.6130796,56.26393812],[149.6712758,56.34525903],[149.7294113,56.42662311],[149.7874879,56.5080254],[149.8455009,56.58947673],[149.903452,56.67097217],[149.9613416,56.75251135],[150.0191695,56.83409421],[150.0769359,56.91572071],[150.1346405,56.99739087],[150.192282,57.07910726],[150.2498632,57.16086446],[150.3073826,57.24266517],[150.3648403,57.32450928],[150.4222361,57.40639673],[150.4795677,57.48833088],[150.5368399,57.57030483],[150.5940516,57.65231936],[150.6511158,57.73444975],[150.7082849,57.81648462],[150.7653113,57.8986282],[150.8222735,57.98081782],[150.8791748,58.0630493],[150.9360128,58.14532496],[150.9927886,58.22764353],[151.0495023,58.31000496],[151.1061537,58.3924092],[151.1627429,58.47485622],[151.2192699,58.55734585],[151.2757345,58.6398783],[151.3321367,58.72245339],[151.3884766,58.80507106],[151.444754,58.8877314],[151.500969,58.9704341],[151.5571215,59.05317913],[151.6132115,59.13596669],[151.669239,59.21879659],[151.7252039,59.30166879],[151.7811062,59.38458325],[151.8369459,59.46753992],[151.8926891,59.55058688],[151.9484032,59.63362803],[152.0040546,59.7167112],[152.0596775,59.79978773],[152.1152035,59.88295473],[152.1706667,59.96616367],[152.226067,60.0494145],[152.281389,60.1327337],[152.3366633,60.21606848],[152.3918743,60.29944522],[152.4470226,60.38286348],[152.5021241,60.46629566],[152.5571461,60.54979781],[152.6121034,60.63334297],[152.6669998,60.71692713],[152.721833,60.80055272],[152.7766048,60.88421761],[152.8313116,60.96792607],[152.8859551,61.05167583],[152.9405355,61.1354668],[152.9950525,61.21929895],[153.0495061,61.3031724],[153.1038964,61.38715506],[153.158223,61.47110946],[153.2124864,61.55510715],[153.2666863,61.63914524],[153.3208235,61.72321099],[153.3748964,61.80733054],[153.4289058,61.89149112],[153.4828516,61.9756922],[153.5367338,62.05993429],[153.5905523,62.14421712],[153.6443072,62.22854045],[153.6979983,62.31290438],[153.7516258,62.39730879],[153.8051892,62.48175385],[153.8586892,62.56623918],[153.9121253,62.65076483],[153.9654976,62.73537726],[154.0188061,62.8199373],[154.0720505,62.90458391],[154.1252309,62.98927071],[154.1783474,63.07399781],[154.2313999,63.15876485],[154.2843883,63.24357191],[154.3373126,63.32841896],[154.3901729,63.41330595],[154.442969,63.49823283],[154.4957009,63.58319956],[154.5483686,63.66820608],[154.6009722,63.75325235],[154.6534421,63.83833832],[154.7059865,63.92346398],[154.7583972,64.0086292],[154.8107436,64.09383835],[154.8630256,64.17908281],[154.9152432,64.26436619],[154.9673964,64.34968943],[155.0194852,64.43511234],[155.0713985,64.52045401],[155.1234671,64.60589006],[155.1753625,64.69137038],[155.2271928,64.77688986],[155.2789583,64.86244846],[155.3306597,64.94804611],[155.3822984,65.03368278],[155.4338708,65.11935847],[155.485378,65.20507309],[155.5368205,65.29082658],[155.5881982,65.3766189],[155.6395087,65.46244998],[155.6907568,65.54831972],[155.741934,65.63422821],[155.7930522,65.72017566],[155.8441075,65.80616145],[155.8950957,65.89218933],[155.946019,65.97825395],[155.9968773,66.06435507],[156.0476775,66.15049455],[156.0984058,66.23667232],[156.1490687,66.32289056],[156.1996667,66.40914171],[156.2501996,66.49543423],[156.3006673,66.58176368],[156.3510698,66.66813091],[156.4014072,66.75453924],[156.4516791,66.84098314],[156.5018858,66.92746585],[156.5520271,67.01398608],[156.6021029,67.10054324],[156.6521141,67.18713954],[156.7020593,67.27377201],[156.751939,67.36044472],[156.8017523,67.44715399],[156.851501,67.53390048],[156.9011841,67.62068406],[156.9508016,67.70750619],[157.0003535,67.79436619],[157.0498399,67.88126297],[157.0992606,67.96819709],[157.1486156,68.05516826],[157.197905,68.142177],[157.2471286,68.2292229],[157.2962865,68.31633305],[157.3453797,68.40345324],[157.3944043,68.49058324],[157.4433648,68.57777744],[157.4922595,68.66500853],[157.5410896,68.75227659],[157.5898523,68.8395815],[157.6385491,68.9269232],[157.6871799,69.01430165],[157.7357447,69.10171668],[157.7842438,69.1891685],[157.8326764,69.27665666],[157.8810344,69.3641939],[157.9293353,69.45175552],[157.9775702,69.53935357],[158.0257462,69.62697539],[158.0738487,69.71464607],[158.1218851,69.80235299],[158.1698555,69.89009605],[158.2177592,69.97787549],[158.2655967,70.06569109],[158.3133677,70.15354293],[158.3609469,70.24154804],[158.4087109,70.3293544],[158.4562828,70.41731416],[158.5037883,70.50530981],[158.5512274,70.59334131],[158.5985998,70.68140868],[158.6459061,70.76951159],[158.6931456,70.85765035],[158.7403185,70.94582476],[158.7874247,71.03403476],[158.8344624,71.1222843],[158.8814353,71.21056579],[158.9283415,71.29888243],[158.9751811,71.38723446],[159.0219539,71.47562181],[159.06866,71.56404444],[159.1152992,71.6525023],[159.1618742,71.74099039],[159.2083797,71.82951876],[159.2548186,71.91808198],[159.3011905,72.00668022],[159.3474955,72.09531345],[159.3937336,72.18398161],[159.4399052,72.27268349],[159.4860094,72.36142134],[159.5320464,72.45019408],[159.578017,72.53900118],[159.6239204,72.62784293],[159.6697562,72.71671976],[159.7155249,72.80563107],[159.7612264,72.89457684],[159.8068606,72.98355733],[159.8524275,73.07257282],[159.8979274,73.16162201],[159.9433603,73.25070512],[159.9887257,73.33982289],[160.0340238,73.42897494],[160.0792545,73.51816117],[160.1244179,73.60738153],[160.1695139,73.69663596],[160.214542,73.7859255],[160.2595031,73.87524796],[160.3043295,73.96464016],[160.3492233,74.0539938],[160.393982,74.1434178],[160.4386721,74.23287725],[160.4832956,74.32236885],[160.5278515,74.41189412],[160.5723391,74.50145374],[160.6167598,74.59104616],[160.6611128,74.6806721],[160.7053975,74.77033209],[160.7496149,74.86002508],[160.7937659,74.94974958],[160.8378466,75.03951068],[160.881861,75.12930335],[160.9258069,75.21912953],[160.9696856,75.30898856],[161.0134983,75.39887897],[161.0572417,75.48880343],[161.1009174,75.57876086],[161.1445243,75.66875219],[161.1880633,75.75877642],[161.2315342,75.8488335],[161.2749374,75.93892266],[161.3182722,76.02904531],[161.361539,76.11920066],[161.4047378,76.2093886],[161.4478683,76.29960921],[161.4909313,76.38986207],[161.5339255,76.48014773],[161.5768515,76.57046585],[161.6197093,76.66081643],[161.6624988,76.75119929],[161.7051265,76.84166436],[161.7478731,76.93206184],[161.7904389,77.02256829],[161.832955,77.11308031],[161.8753126,77.20369923],[161.9178015,77.29417286],[161.9601127,77.38478071],[162.0023555,77.4754204],[162.0445232,77.56610335],[162.0866274,77.65681008],[162.1286647,77.74754518],[162.1706402,77.83830051],[162.2125404,77.92909914],[162.254372,78.01992938],[162.2961347,78.11079128],[162.3378291,78.20168458],[162.3794565,78.29260567],[162.4210139,78.38356164],[162.4625024,78.474549],[162.5039223,78.5655672],[162.5452731,78.65661725],[162.5865554,78.74769806],[162.6277231,78.83886178],[162.6689131,78.92995401],[162.7099887,79.02112855],[162.7509955,79.1123341],[162.7919343,79.20357011],[162.8328031,79.29483775],[162.8736039,79.38613566],[162.9143351,79.4774646],[162.9549972,79.56882437],[162.9955902,79.6602149],[163.0361139,79.75163659],[163.0765689,79.84308828],[163.1169548,79.9345705],[163.1572712,80.02608338],[163.1975187,80.11762663],[163.2376971,80.20920021],[163.2778065,80.30080399],[163.3178467,80.39243802],[163.357818,80.48410153],[163.3977198,80.57579589],[163.4375523,80.66752036],[163.4771974,80.75933737],[163.5170097,80.85105889],[163.5566343,80.94287335],[163.5961896,81.0347177],[163.6356762,81.12659149],[163.6750927,81.2184955],[163.714441,81.31042868],[163.7537187,81.40239209],[163.7929269,81.49438513],[163.8320653,81.58640803],[163.8711345,81.6784602],[163.910134,81.77054199],[163.9490641,81.86265308],[163.9879245,81.95479366],[164.0267154,82.04696347],[164.0654367,82.13916252],[164.1040884,82.23139078],[164.1426704,82.32364818],[164.1811834,82.41593354],[164.219626,82.50824913],[164.2579989,82.60059372],[164.2963021,82.69296725],[164.3345346,82.78537113],[164.3726979,82.8778026],[164.4107918,82.97026262],[164.4488153,83.0627515],[164.4867695,83.15526891],[164.5246525,83.24781751],[164.5624665,83.34039275],[164.6002116,83.43299475],[164.6378859,83.5256266],[164.6754891,83.61828869],[164.7130235,83.71097728],[164.7504878,83.80367411],[164.7878832,83.89641724],[164.8252077,83.98918858],[164.8624631,84.08198806],[164.8996475,84.17481563],[164.9367608,84.26767152],[164.9738051,84.36055494],[165.010779,84.45346647],[165.0476846,84.5464058],[165.0845191,84.63937594],[165.1212836,84.732371],[165.1579767,84.82539211],[165.1945994,84.9184427],[165.2311518,85.01152091],[165.2676341,85.10462669],[165.304046,85.19776],[165.3402895,85.29091705],[165.3766585,85.38410534],[165.4128591,85.47732101],[165.4489895,85.57056409],[165.4850435,85.66383435],[165.52089,85.75713183],[165.5569519,85.85045648],[165.5928004,85.94380822],[165.6285845,86.03718706],[165.6642923,86.1305929],[165.6999292,86.2240257],[165.7354956,86.31748539],[165.770973,86.41097203],[165.8063984,86.50448536],[165.8417529,86.5980258],[165.8769045,86.69173],[165.9122684,86.78518593],[165.947411,86.8788059],[165.9824828,86.97245238],[166.0174847,87.06612534],[166.0524151,87.1598241],[166.0872734,87.25354989],[166.122062,87.34730186],[166.1567798,87.44108026],[166.1914267,87.53488487],[166.2260026,87.62871564],[166.2605315,87.72257265],[166.2949667,87.81645546],[166.3293307,87.91036446],[166.3636239,88.0042994],[166.3978461,88.09826024],[166.4319973,88.1922469],[166.4660774,88.2862594],[166.5000866,88.38029763],[166.5340246,88.47436162],[166.5678917,88.56845118],[166.6016877,88.66256632],[166.6354126,88.75670698],[166.6690664,88.85087311],[166.702649,88.94506466],[166.7361606,89.03938916],[166.7696009,89.13363241],[166.8029701,89.22790099],[166.8362681,89.32219519],[166.8694948,89.41651427],[166.9026504,89.51085811],[166.9357347,89.60522622],[166.9687406,89.69962001],[167.0016809,89.7940387],[167.0345503,89.8884831],[167.0673491,89.98295106],[167.1000754,90.07744418],[167.1327314,90.17196254],[167.1653178,90.26650329],[167.1978392,90.36107031],[167.2302811,90.45566184],[167.2626516,90.55027784],[167.2949506,90.64491773],[167.3271782,90.7395825],[167.3593356,90.83427092],[167.3914202,90.92898482],[167.4234332,91.02372236],[167.4553747,91.11848227],[167.4872482,91.213268],[167.5190465,91.30807895],[167.5507733,91.40291272],[167.5824284,91.49777032],[167.6140119,91.59265159],[167.6455244,91.68755658],[167.6769644,91.78248577],[167.7083328,91.87743868],[167.7393758,91.97241404],[167.7708531,92.06741443],[167.8020062,92.16243813],[167.8330841,92.2574869],[167.8640936,92.35255766],[167.8950313,92.44765206],[167.9258959,92.54276953],[167.95669,92.63791026],[167.9874122,92.73307411],[168.0180603,92.82826122],[168.048639,92.92346965],[168.0791494,93.01870458],[168.1095854,93.11397013],[168.1399481,93.20924946],[168.1702413,93.30455166],[168.20046,93.39987668],[168.2306067,93.49521568],[168.2606815,93.5905847],[168.2906843,93.68597831],[168.3206149,93.78139408],[168.3504733,93.8768301],[168.3802597,93.97229078],[168.4099737,94.06777412],[168.4396157,94.16328154],[168.4691857,94.25880958],[168.4986835,94.35435952],[168.5281086,94.44993332],[168.557462,94.54552984],[168.5867433,94.64114521],[168.6159523,94.73687059],[168.645089,94.83244416],[168.6741536,94.92812783],[168.7031427,95.02383142],[168.7320627,95.11955828],[168.7609105,95.21530695],[168.7896859,95.31107737],[168.818389,95.40686965],[168.8470197,95.50268344],[168.8755808,95.5985188],[168.904067,95.69437552],[168.9324804,95.79025317],[168.9608223,95.88615278],[168.9890908,95.98207403],[169.0172869,96.0780408],[169.0454111,96.17400468],[169.0734622,96.2699654],[169.1014407,96.36597157],[169.1293467,96.46200016],[169.1571802,96.55804849],[169.1849406,96.65411782],[169.2126232,96.75021107],[169.2402388,96.84632215],[169.2677818,96.94245421],[169.2952522,97.03860703],[169.3226499,97.13478055],[169.3498781,97.23097473],[169.3771308,97.32718793],[169.4044074,97.42342325],[169.4315211,97.51967596],[169.4585556,97.61595133],[169.4855174,97.71224797],[169.5124065,97.80856493],[169.5392228,97.90490217],[169.5659663,98.00125983],[169.5925907,98.09763762],[169.6191885,98.19403533],[169.64576,98.29045308],[169.6722124,98.38689082],[169.698592,98.4833485],[169.7248987,98.5798256],[169.7511335,98.676323],[169.7772943,98.77284038],[169.8033837,98.86937659],[169.8293987,98.9659332],[169.8553383,99.06256186],[169.8812073,99.15910817],[169.9070032,99.255724],[169.9327276,99.3523588],[169.9583776,99.44912032],[169.9839545,99.54569345],[170.0094585,99.64238642],[170.0348894,99.73909848],[170.0602472,99.83582231],[170.085532,99.93257279],[170.1107438,100.0293423],[170.1358824,100.1261309],[170.160948,100.222938],[170.1859404,100.3197641],[170.21084,100.4166089],[170.2356911,100.5134691],[170.2604649,100.6103518],[170.2851656,100.7072532],[170.3097931,100.8041732],[170.3343474,100.9011117],[170.3588285,100.9980688],[170.3832315,101.0950461],[170.407566,101.1920401],[170.4318273,101.2890524],[170.4560153,101.386083],[170.4801308,101.4831316],[170.5041721,101.5801988],[170.5281402,101.6772839],[170.552035,101.7743873],[170.5758622,101.8715066],[170.5996104,101.9686458],[170.6232852,102.0658028],[170.6468871,102.1629766],[170.6704142,102.2601707],[170.6938689,102.3573812],[170.71725,102.4546096],[170.7405576,102.5518555],[170.7637921,102.6491189],[170.7869531,102.7463997],[170.8100416,102.8436966],[170.8330564,102.9410119],[170.8559968,103.038345],[170.8788637,103.1356955],[170.9016573,103.2330631],[170.9243767,103.3304481],[170.9470223,103.4278502],[170.969595,103.5252693],[170.9920941,103.6227054],[171.0145196,103.7201585],[171.0368715,103.8176285],[171.0591476,103.9151193],[171.0813504,104.0126267],[171.1034814,104.1101473],[171.1255387,104.2076845],[171.1475211,104.3052399],[171.1694335,104.4028062],[171.1912696,104.5003936],[171.2130323,104.5979968],[171.2347234,104.6956121],[171.2563395,104.793247],[171.2778814,104.890899],[171.2993499,104.9885674],[171.3207439,105.0862521],[171.342064,105.183953],[171.3633103,105.28167],[171.3843734,105.3794945],[171.4055641,105.4771761],[171.426589,105.5749409],[171.4475543,105.6727008],[171.4684318,105.7704968],[171.4892373,105.8683067],[171.5099667,105.9661346],[171.5306223,106.0639781],[171.5512041,106.1618373],[171.5717111,106.2597133],[171.592146,106.3576028],[171.6125061,106.4555082],[171.6327919,106.5534295],[171.652973,106.6513723],[171.6731427,106.7493159],[171.6932017,106.8472844],[171.7131888,106.9452671],[171.7331046,107.0432641],[171.7529465,107.141276],[171.7727134,107.2393043],[171.7924072,107.3373461],[171.8120287,107.4354024],[171.8315744,107.5334738],[171.851047,107.6315585],[171.8704515,107.7296569],[171.8896891,107.8277895],[171.9090251,107.9259014],[171.9282006,108.0240459],[171.9472975,108.1222056],[171.9663247,108.2203789],[171.985069,108.3186778],[172.004157,108.4167677],[172.0229661,108.5149819],[172.0416967,108.6132122],[172.0603579,108.7114555],[172.0789402,108.8097139],[172.0974483,108.9079863],[172.115882,109.0062729],[172.1342417,109.1045731],[172.1525272,109.2028872],[172.1707371,109.3012155],[172.1888731,109.3995574],[172.2069359,109.4979125],[172.2249219,109.5962853],[172.2428355,109.6946684],[172.2606753,109.7930644],[172.2784407,109.8914737],[172.2961318,109.9898965],[172.313751,110.0883285],[172.3312489,110.186828],[172.3485702,110.285321],[172.366155,110.3837166],[172.3834744,110.4822054],[172.4007128,110.5807086],[172.4178829,110.679224],[172.434979,110.7777519],[172.4520007,110.8762925],[172.4689491,110.9748457],[172.4858221,111.0734117],[172.5026287,111.1719886],[172.5193527,111.2705803],[172.5360031,111.3691835],[172.5525781,111.4678004],[172.5690787,111.5664297],[172.5855048,111.6650714],[172.6018564,111.7637255],[172.6181331,111.862393],[172.6343357,111.9610717],[172.6504637,112.0597627],[172.6665172,112.1584659],[172.6824961,112.2571811],[172.6984005,112.3559084],[172.7142303,112.4546476],[172.7299856,112.5533988],[172.7456663,112.6521618],[172.7612724,112.7509366],[172.7768047,112.8497229],[172.7922616,112.9485212],[172.8076438,113.0473311],[172.8229514,113.1461526],[172.8381844,113.2449856],[172.8533439,113.3438273],[172.8684274,113.4426832],[172.8834365,113.5415505],[172.8983709,113.6404288],[172.9132306,113.7393186],[172.9280153,113.83822],[172.9427257,113.9371321],[172.9571433,114.0361162],[172.9719024,114.1350102],[172.9863849,114.2339618],[173.0007972,114.3329023],[173.0151337,114.4318693],[173.0293956,114.5308471],[173.0435825,114.6298349],[173.057691,114.7288399],[173.0717284,114.82785],[173.085702,114.9268683],[173.0996009,115.0258909],[173.1134183,115.1249252],[173.1271568,115.223977],[173.1408206,115.3230391],[173.1544095,115.4221115],[173.167925,115.5211937],[173.1813643,115.6202865],[173.1947293,115.7193894],[173.2080188,115.8185024],[173.2212336,115.9176253],[173.2343735,116.0167583],[173.2474385,116.1159011],[173.2604272,116.2150546],[173.2733415,116.314218],[173.2861807,116.4133916],[173.2989478,116.5125725],[173.3116383,116.6117639],[173.3242531,116.710965],[173.3367958,116.8101739],[173.349261,116.9093947],[173.3616518,117.0086241],[173.3738563,117.1079557],[173.3862078,117.2071114],[173.3983728,117.3063687],[173.4104639,117.4056349],[173.4224803,117.5049103],[173.4344216,117.6041947],[173.4462876,117.7034882],[173.4580819,117.8027898],[173.4697981,117.902101],[173.4814393,118.001421],[173.4930056,118.1007497],[173.5044974,118.2000857],[173.5159163,118.2994304],[173.527258,118.3987842],[173.5385242,118.4981475],[173.54949,118.5976386],[173.5608318,118.6968984],[173.5718728,118.7962869],[173.5828388,118.8956837],[173.5937297,118.9950887],[173.6045455,119.094502],[173.6152863,119.1939234],[173.625952,119.2933528],[173.6365426,119.3927903],[173.6470447,119.4922385],[173.657485,119.5916919],[173.6678502,119.6911531],[173.6781403,119.7906221],[173.6883551,119.8900993],[173.698495,119.9895837],[173.7085738,120.089073],[173.7185635,120.1885727],[173.728478,120.2880798],[173.7383174,120.3875945],[173.7480816,120.4871165],[173.7577694,120.5866462],[173.7673832,120.6861829],[173.7769219,120.7857269],[173.7863854,120.885278],[173.7957737,120.9848362],[173.8050866,121.0844017],[173.8143229,121.1839744],[173.8234761,121.2835672],[173.8325637,121.3831534],[173.8415442,121.4827794],[173.8504808,121.5823799],[173.8593841,121.6819398],[173.8681708,121.7815529],[173.8768842,121.8811715],[173.8855204,121.9807978],[173.8940814,122.0804306],[173.9025671,122.1800698],[173.9109789,122.2797151],[173.9193146,122.3793663],[173.9275745,122.4790245],[173.9357592,122.5786889],[173.9438554,122.6783718],[173.9518889,122.7780492],[173.9598475,122.8777321],[173.9677307,122.9774211],[173.9755388,123.0771158],[173.9832774,123.1768064],[173.9909341,123.276514],[173.9985163,123.3762261],[174.0060237,123.4759434],[174.0134554,123.5756668],[174.0208209,123.6753928],[174.0281021,123.7751273],[174.0353087,123.8748663],[174.0424392,123.9746118],[174.0494943,124.0743626],[174.0564752,124.1741182],[174.0633797,124.2738795],[174.0702081,124.3736464],[174.0769618,124.4734182],[174.0836402,124.573195],[174.0902431,124.6729769],[174.0967708,124.7727637],[174.1032231,124.8725554],[174.1096,124.9723519],[174.1159015,125.0721533],[174.1221276,125.1719594],[174.1282784,125.2717702],[174.1343535,125.371586],[174.1403522,125.4714064],[174.1462768,125.5712309],[174.152126,125.6710598],[174.1578998,125.7708931],[174.1635983,125.8707307],[174.1692052,125.9705759],[174.1747526,126.0704219],[174.1802247,126.1702722],[174.1856215,126.2701266],[174.190937,126.3699933],[174.1961808,126.4698564],[174.2013683,126.5697194],[174.2064705,126.6695809],[174.2114903,126.769455],[174.2164348,126.8693327],[174.2213015,126.9692163],[174.2260949,127.0691015],[174.2308146,127.1689896],[174.2354572,127.268882],[174.2400236,127.3687779],[174.2445163,127.4686761],[174.2489341,127.5685785],[174.2532749,127.6684845],[174.2575402,127.7683938],[174.26173,127.8683063],[174.2658444,127.9682219],[174.2698821,128.0681458],[174.2738455,128.1680676],[174.2777341,128.2679923],[174.2815447,128.3679206],[174.2852817,128.4678511],[174.2889419,128.5677863],[174.2925322,128.6677204],[174.2960414,128.7676614],[174.2994767,128.8676027],[174.3028382,128.9675421],[174.3061222,129.0674891],[174.3093319,129.1672686],[174.3124674,129.2672171],[174.3155252,129.3671679],[174.3185077,129.467121],[174.3214146,129.5671529],[174.3242486,129.6671107],[174.3268918,129.7670704],[174.329681,129.866955],[174.332286,129.966919],[174.3348122,130.0668848],[174.3372699,130.1668525],[174.3396484,130.2668221],[174.3419551,130.3667932],[174.3441827,130.4667631],[174.3463348,130.5667378],[174.3484115,130.6667142],[174.3504133,130.7666928],[174.3523382,130.8666719],[174.3541878,130.9666528],[174.3559532,131.0666351],[174.3576522,131.1666216],[174.3592758,131.2666064],[174.3608244,131.3665925],[174.3623074,131.4665797],[174.3637045,131.5665677],[174.365026,131.6665548],[174.366272,131.7665457],[174.3674425,131.8665371],[174.3685375,131.9665295],[174.3695571,132.0665226],[174.3705011,132.1665165],[174.3713696,132.2665111],[174.3721257,132.3665064],[174.3728438,132.4665023],[174.3735225,132.5664979],[174.3740889,132.6664948],[174.3745653,132.7664927],[174.3749805,132.8664904],[174.3753203,132.9664884],[174.3755904,133.0664867],[174.3757766,133.1667342],[174.3758897,133.2667343],[174.3759272,133.3667345]]};var i5={lengthMm:250,samplingMm:.1,points:[[0,0],[.100000164,379e-7],[.200076184,5165e-7],[.300000253,3404e-7],[.399996601,5948e-7],[.500000696,9711e-7],[.599999957,.0013867],[.700011487,.0018852],[.800010096,.0024519],[.900007582,.0030762],[1.000005203,.0037938],[1.099998278,.0045673],[1.199981673,.0054283],[1.299978296,.006373],[1.399973076,.0073924],[1.499967067,.0084874],[1.599960246,.0096579],[1.699952529,.0109039],[1.799943763,.012224],[1.899934036,.0136211],[1.999922333,.0150931],[2.099909713,.0166415],[2.199896653,.0182652],[2.29988293,.0199659],[2.399867314,.0217407],[2.499850335,.0235909],[2.599831913,.0255167],[2.699812002,.0275179],[2.799791087,.0295951],[2.899768015,.0317473],[2.99974347,.0339751],[3.099717027,.0362783],[3.199689891,.0386579],[3.299659185,.041111],[3.399626786,.0436403],[3.499592884,.0462454],[3.599556985,.0489261],[3.699518144,.0516815],[3.799478155,.0545132],[3.89943599,.0574204],[3.999391592,.0604031],[4.099344998,.0634599],[4.19929652,.0665956],[4.299245128,.0698048],[4.399191314,.0730894],[4.499134489,.0764484],[4.599075595,.079884],[4.699014843,.0834195],[4.798950592,.0870061],[4.898883482,.090668],[4.998813667,.0944055],[5.098754899,.0982042],[5.198679347,.1020925],[5.298600806,.1060564],[5.398504523,.1100852],[5.498420017,.1142001],[5.598332349,.1183896],[5.698241356,.1226553],[5.798147092,.1269965],[5.898049511,.1314131],[5.997947006,.1359047],[6.097842414,.140472],[6.197734506,.1451149],[6.297622126,.149833],[6.39750704,.1546267],[6.497388497,.159498],[6.597267057,.1644435],[6.697141065,.1694636],[6.79701104,.174559],[6.896877127,.1797298],[6.996739269,.1849759],[7.096596598,.1902965],[7.196450734,.1956936],[7.296300593,.2011659],[7.396146324,.2067119],[7.495985127,.2123291],[7.595822876,.2180281],[7.69565582,.2238028],[7.795484392,.2296521],[7.895308533,.2355769],[7.995128293,.2414808],[8.094943397,.2475602],[8.194755468,.2537113],[8.29456127,.2603912],[8.394362332,.2662396],[8.494158638,.2726168],[8.593950045,.2790694],[8.693736542,.2855973],[8.79355286,.2922005],[8.89332931,.2988791],[8.993066005,.3056331],[9.092830478,.3124623],[9.192591606,.3193636],[9.292347488,.3263436],[9.392098064,.3334004],[9.491931695,.3405311],[9.591669823,.3477372],[9.69131791,.3550185],[9.791046705,.3623752],[9.890769904,.3698106],[9.990493393,.3773199],[10.09020622,.3849042],[10.18991232,.3925608],[10.28961261,.4002939],[10.38930782,.4081023],[10.48899623,.415986],[10.58867422,.4239441],[10.68835064,.4319785],[10.78801887,.4400881],[10.88768308,.4482701],[10.98734434,.4565303],[11.08699612,.4648658],[11.18664103,.4732765],[11.28628011,.4817592],[11.38591284,.4903205],[11.48553898,.4989568],[11.58515856,.5076686],[11.68477084,.5164558],[11.78437717,.5253181],[11.88397678,.5342557],[11.98356583,.5432684],[12.08315181,.5523564],[12.18273096,.5615437],[12.28230311,.5707823],[12.38186825,.5800962],[12.48142633,.5894851],[12.5809773,.5989493],[12.68052118,.6084635],[12.78005776,.6180779],[12.87958698,.627783],[12.97911646,.637548],[13.07863121,.6473882],[13.17813849,.6573036],[13.27763825,.6672942],[13.37713044,.6773599],[13.47661499,.6875007],[13.57609199,.6977167],[13.67556112,.7080077],[13.77502258,.7183738],[13.87446788,.7288653],[13.973934,.7393634],[14.07337149,.7499548],[14.17280099,.7606212],[14.27220161,.7713119],[14.37161485,.7821284],[14.47101978,.79302],[14.57041685,.8039866],[14.66980534,.8150284],[14.76918547,.8261452],[14.8685571,.8373371],[14.96792092,.848604],[15.06727557,.8599459],[15.16662168,.8713653],[15.26595915,.8828572],[15.36528886,.8944872],[15.46460887,.9060663],[15.56392007,.9177834],[15.66322239,.9296106],[15.76253096,.941478],[15.8618155,.9534229],[15.96109144,.9654403],[16.06035787,.9775307],[16.15961512,.9896981],[16.25884693,1.0019403],[16.35808503,1.0142204],[16.45731438,1.0266124],[16.55653434,1.0390793],[16.65574562,1.0516211],[16.75494716,1.0642378],[16.8541648,1.0769295],[16.95334599,1.089696],[17.05249152,1.1025374],[17.15165335,1.1154537],[17.25080612,1.1284449],[17.34994859,1.141511],[17.4490827,1.1546546],[17.54820587,1.1678707],[17.64731948,1.1811619],[17.74642259,1.1945247],[17.84551558,1.2079653],[17.94459738,1.2214808],[18.04366998,1.235071],[18.1427323,1.2487361],[18.24178426,1.2624759],[18.34082587,1.2763179],[18.43985696,1.2902062],[18.53887755,1.3041693],[18.63788757,1.3182072],[18.73688695,1.3323198],[18.83587546,1.3465049],[18.93485413,1.3607686],[19.03382134,1.3751057],[19.13277767,1.3895176],[19.23171945,1.4040027],[19.33065384,1.4185639],[19.42957721,1.4331998],[19.5284895,1.4479104],[19.62739083,1.4626959],[19.72628056,1.4775556],[19.82515927,1.4924902],[19.9240267,1.5074995],[20.02288276,1.5225835],[20.12172741,1.5377421],[20.22056042,1.5529752],[20.31938208,1.5682832],[20.41819209,1.5836659],[20.5169905,1.599123],[20.6157772,1.6146547],[20.714552,1.6302631],[20.81331801,1.6459629],[20.91206929,1.6617184],[21.01080864,1.6775486],[21.109536,1.6934532],[21.20825055,1.7094306],[21.30695364,1.7254842],[21.40564489,1.7416126],[21.50431883,1.7577908],[21.60298554,1.7740663],[21.70163984,1.7904181],[21.80028169,1.806845],[21.89891124,1.8233459],[21.99752824,1.8399211],[22.09613287,1.8565738],[22.19472472,1.8732979],[22.29330577,1.8900977],[22.39195413,1.9070691],[22.49042593,1.9239181],[22.5889828,1.9409535],[22.68751078,1.9580498],[22.78600993,1.9752063],[22.88451196,1.9924513],[22.98300093,2.0097707],[23.081475,2.0271608],[23.17993764,2.0446289],[23.27838719,2.0621714],[23.37682346,2.0797883],[23.4752464,2.0974796],[23.57379163,2.1154995],[23.67205408,2.1330862],[23.77044071,2.1510106],[23.86880981,2.1689992],[23.96716528,2.1870621],[24.06550699,2.2051992],[24.16383505,2.2234106],[24.26214888,2.2416958],[24.36044932,2.2600557],[24.45873722,2.2784908],[24.55700758,2.2969977],[24.65526619,2.3155802],[24.75351074,2.3342369],[24.851737,2.3529573],[24.94995382,2.3717627],[25.04815578,2.3906419],[25.14634233,2.4095942],[25.2445157,2.4286215],[25.34267473,2.447723],[25.44082454,2.4669033],[25.53895457,2.486153],[25.63707017,2.505476],[25.73516525,2.5248688],[25.8332514,2.5443409],[25.93132275,2.5638869],[26.0293794,2.5835071],[26.12742248,2.6032446],[26.22544934,2.6230131],[26.32348658,2.642882],[26.42148354,2.6627984],[26.51946541,2.6827888],[26.61741131,2.7027879],[26.71536284,2.7229262],[26.81329968,2.7431401],[26.91121594,2.7634219],[27.00912211,2.7837843],[27.10701243,2.8042185],[27.20488729,2.8247266],[27.30274663,2.8453085],[27.40059038,2.8659644],[27.4984185,2.8866942],[27.59623093,2.9074978],[27.6940276,2.9283753],[27.79180419,2.9493479],[27.88956922,2.970373],[27.98731833,2.991472],[28.08505565,3.0126261],[28.18277306,3.0338733],[28.28047413,3.0551937],[28.37815901,3.0765877],[28.47582719,3.0980532],[28.57347969,3.1195948],[28.67111589,3.1412102],[28.76873563,3.1629006],[28.86633791,3.1846629],[28.96392501,3.2064974],[29.06149552,3.2284077],[29.15905027,3.2503922],[29.25658762,3.2724498],[29.35410802,3.2945827],[29.45161193,3.3167876],[29.54909904,3.3390661],[29.64658575,3.3614328],[29.74403947,3.3838589],[29.84146037,3.4063443],[29.93887927,3.4289143],[30.03628148,3.4515607],[30.13366656,3.4742791],[30.23103445,3.4970726],[30.32838434,3.519939],[30.42571584,3.5428785],[30.52303187,3.5658926],[30.62033048,3.5889801],[30.71761161,3.6121411],[30.81486779,3.6354107],[30.91211402,3.6587188],[31.0093424,3.6821001],[31.1065598,3.7055177],[31.20375276,3.7290459],[31.3009276,3.7526471],[31.39808506,3.7763222],[31.49522449,3.8000705],[31.59234599,3.8238922],[31.68944944,3.8477873],[31.78653484,3.8717557],[31.88360211,3.8957974],[31.98065117,3.9199124],[32.07768225,3.9441041],[32.17469479,3.9683656],[32.27168895,3.9927004],[32.3686647,4.0171084],[32.46562197,4.0415898],[32.56256072,4.0661443],[32.65948089,4.0907719],[32.75638242,4.1154727],[32.85326526,4.1402467],[32.95012934,4.1650938],[33.04698054,4.1900408],[33.14380486,4.2150309],[33.24061248,4.2400977],[33.33740112,4.2652377],[33.43417076,4.2904508],[33.53092129,4.3157369],[33.6276527,4.341096],[33.72435968,4.3665017],[33.82105274,4.3920068],[33.91772634,4.4175847],[34.01438065,4.4432357],[34.11101567,4.4689598],[34.207631,4.4947566],[34.30422692,4.5206266],[34.40080326,4.5465694],[34.49743302,4.5726731],[34.59396977,4.5987615],[34.6904143,4.6248356],[34.78691178,4.65107],[34.88338956,4.6773774],[34.97984729,4.7037575],[35.07628291,4.7302058],[35.17271959,4.7567425],[35.26911739,4.783341],[35.36548467,4.8100648],[35.46184205,4.8368088],[35.55817829,4.8636239],[35.6544953,4.8905135],[35.75081043,4.917439],[35.84708653,4.944474],[35.94334218,4.9715816],[36.03954921,4.9987376],[36.13576379,5.0259906],[36.23196843,5.0533681],[36.32814191,5.0807667],[36.42429467,5.1082381],[36.52042662,5.1357819],[36.61645638,5.1637854],[36.71262673,5.1910371],[36.80869602,5.2187985],[36.90474415,5.2466354],[37.00077136,5.2745418],[37.09677923,5.3025221],[37.19275384,5.3305683],[37.28871741,5.3586921],[37.38465967,5.3868883],[37.48058064,5.4151569],[37.5764803,5.4434981],[37.672362,5.4719218],[37.76821735,5.5004043],[37.86405245,5.5289628],[37.96000159,5.5578475],[38.05565838,5.5862973],[38.15142871,5.615073],[38.24717971,5.6439227],[38.3429063,5.6728428],[38.43861071,5.7018349],[38.53429349,5.7308995],[38.62995416,5.7600362],[38.72559292,5.7892453],[38.82120544,5.8185145],[38.91679992,5.8478679],[39.01237011,5.877292],[39.1079201,5.9067908],[39.20344911,5.9363617],[39.29895448,5.9660036],[39.3944374,5.9957178],[39.48989942,6.0255048],[39.58533739,6.055363],[39.68075275,6.0852932],[39.77614463,6.1152941],[39.87151471,6.1453685],[39.96686205,6.175515],[40.06218659,6.2057334],[40.15748826,6.2360238],[40.25276779,6.2663888],[40.34802355,6.296823],[40.44325632,6.3273294],[40.53846606,6.3579076],[40.63365266,6.3885576],[40.72881608,6.4192796],[40.82395683,6.450075],[40.91907386,6.4809408],[41.01416743,6.5118782],[41.10923596,6.5428866],[41.20428307,6.5739708],[41.29930632,6.6051236],[41.39430599,6.6363484],[41.48926925,6.6677087],[41.58422174,6.6990767],[41.67915038,6.7305163],[41.77406756,6.7619612],[41.86894864,6.7935443],[41.96380584,6.8251989],[42.05863906,6.8569251],[42.15344836,6.888723],[42.2482336,6.9205925],[42.34302806,6.9525569],[42.43776473,6.9845665],[42.53247763,7.0166507],[42.62716655,7.0488072],[42.72169343,7.0815],[42.81643659,7.1133077],[42.91105171,7.1456804],[43.00564273,7.178122],[43.10020923,7.210635],[43.19475119,7.2432195],[43.28926852,7.2758753],[43.3837635,7.3086039],[43.47823162,7.3414063],[43.57267467,7.3742762],[43.6670926,7.4072185],[43.76148625,7.440229],[43.85585462,7.4733128],[43.95019796,7.5064679],[44.04451629,7.5396942],[44.13881023,7.5729924],[44.23307818,7.606361],[44.32731863,7.6397994],[44.42153633,7.6733095],[44.51572829,7.7068884],[44.6098949,7.7405416],[44.70403569,7.7742656],[44.79815162,7.8080612],[44.89224191,7.8419278],[44.98630659,7.8758655],[45.08034561,7.9098742],[45.17435892,7.9439538],[45.26844684,7.9782119],[45.36234857,8.0123597],[45.45624483,8.0466174],[45.550155,8.0809811],[45.64403914,8.1154156],[45.73789727,8.1499211],[45.83172932,8.1844974],[45.92553523,8.2191446],[46.01931494,8.2538626],[46.11317797,8.2891776],[46.20679562,8.323511],[46.30049645,8.3584414],[46.39417086,8.3934425],[46.48782436,8.4285413],[46.58144583,8.463684],[46.67504073,8.4988975],[46.768609,8.5341816],[46.8621506,8.5695363],[46.95566546,8.6049616],[47.04915357,8.6404576],[47.14260902,8.6759993],[47.23603848,8.711634],[47.32944581,8.7473414],[47.42282618,8.7831193],[47.51617948,8.8189677],[47.60950565,8.8548865],[47.70280705,8.8909316],[47.79607896,8.9269916],[47.88932357,8.9631222],[47.98254089,8.999323],[48.07573092,9.0355915],[48.16889197,9.0718785],[48.2620271,9.1082905],[48.35513474,9.1447728],[48.44821475,9.1813253],[48.54126713,9.2179481],[48.63429185,9.2546411],[48.7272888,9.2914045],[48.82025793,9.328238],[48.91319926,9.3651418],[49.00609722,9.402193],[49.09898277,9.4392371],[49.19184022,9.4763513],[49.28466961,9.5135355],[49.3774865,9.5507129],[49.47025958,9.5880376],[49.56300454,9.6254322],[49.65571911,9.6628921],[49.74840746,9.7004265],[49.8410672,9.7380327],[49.93369792,9.7757055],[50.02630116,9.8134499],[50.11887579,9.851264],[50.2114219,9.8891483],[50.30381482,9.9276944],[50.39642794,9.9651262],[50.48888789,10.00322],[50.58131936,10.0413824],[50.67372163,10.0796157],[50.76609505,10.1179189],[50.85843948,10.1562918],[50.95075497,10.1947344],[51.04304143,10.2332468],[51.13529876,10.2718289],[51.22752694,10.3104806],[51.31972597,10.349202],[51.41189582,10.3879932],[51.50403621,10.4268537],[51.59614722,10.4657838],[51.68822881,10.5047838],[51.78028094,10.543853],[51.87230304,10.5829945],[51.9642961,10.6222027],[52.05625948,10.6614803],[52.14819469,10.7008288],[52.24010233,10.7402557],[52.3319766,10.7797418],[52.4239832,10.8195407],[52.51563543,10.8589223],[52.60742003,10.8986163],[52.69917362,10.9383762],[52.7908982,10.9782089],[52.88259268,11.0181109],[52.97425696,11.0580822],[53.06589329,11.0981241],[53.15749715,11.1382337],[53.24907076,11.1784123],[53.34060972,11.218648],[53.43212465,11.2589666],[53.52362833,11.2993526],[53.61507994,11.3398076],[53.70650098,11.3803326],[53.79789127,11.4209258],[53.88929687,11.4616432],[53.98062559,11.5023739],[54.07187787,11.5431175],[54.1631451,11.5839865],[54.25438146,11.6249237],[54.34558685,11.6659295],[54.43676193,11.707008],[54.52790526,11.7481526],[54.61901873,11.789366],[54.71010042,11.8306517],[54.80115173,11.8720026],[54.89217041,11.9134221],[54.98315783,11.9549106],[55.07411395,11.9964681],[55.1650386,12.038094],[55.25593179,12.0797884],[55.34679345,12.1215515],[55.43762422,12.163385],[55.52842356,12.2052853],[55.6191904,12.2472541],[55.70992545,12.2892915],[55.80062738,12.3313973],[55.89129722,12.3735684],[55.98193628,12.4158086],[56.07254427,12.4581239],[56.16312011,12.5005037],[56.25366544,12.5429517],[56.34417707,12.585468],[56.43465657,12.6280528],[56.52510386,12.6707059],[56.6155189,12.7134272],[56.70590163,12.7562168],[56.796252,12.7990748],[56.88657003,12.8420009],[56.97685561,12.8849952],[57.06710723,12.9280577],[57.15732742,12.9711853],[57.24751455,13.0143841],[57.33766974,13.0576498],[57.42779189,13.100986],[57.51788283,13.1443889],[57.60793994,13.18786],[57.69796419,13.2313993],[57.78795543,13.2750063],[57.87791392,13.318681],[57.96783929,13.3624239],[58.05774734,13.4063247],[58.14760684,13.4502476],[58.23743278,13.4941941],[58.32720943,13.5381206],[58.41696898,13.5821568],[58.50669531,13.6263069],[58.59638818,13.6705246],[58.68604744,13.7148139],[58.77567488,13.7591669],[58.86526727,13.8035876],[58.9548261,13.8480759],[59.04435074,13.8926309],[59.13384231,13.9372528],[59.22329965,13.9819571],[59.3125789,14.0267413],[59.40211396,14.0715423],[59.49146907,14.1164361],[59.58079167,14.1613944],[59.67008014,14.2064232],[59.75933454,14.2515057],[59.84858222,14.2967028],[59.93776784,14.3419323],[60.02689212,14.3871972],[60.11600998,14.4325629],[60.20509356,14.4779958],[60.29425858,14.5234999],[60.38318342,14.5691221],[60.47216385,14.6147568],[60.5611098,14.6604587],[60.65002698,14.7062556],[60.73889043,14.7520327],[60.8277327,14.7979361],[60.91654025,14.8439064],[61.00531308,14.8899439],[61.0940511,14.9360484],[61.18275428,14.9822199],[61.27140966,15.0284584],[61.36003701,15.0747344],[61.44863523,15.1211067],[61.53719845,15.1675457],[61.62572663,15.2140516],[61.71421962,15.2606244],[61.80267741,15.307264],[61.89109986,15.3539706],[61.9794871,15.4007433],[62.06783958,15.4475849],[62.15615694,15.4944917],[62.24443762,15.5414683],[62.33268451,15.5885084],[62.42089472,15.6356435],[62.50851048,15.6828168],[62.59664711,15.7300567],[62.68474807,15.7773634],[62.77281331,15.8247076],[62.86084016,15.8721592],[62.94883406,15.9196531],[63.0367919,15.9672228],[63.1247138,16.0148616],[63.21259975,16.0625671],[63.30044964,16.1103393],[63.38826351,16.1581772],[63.47630072,16.2060814],[63.56383148,16.2540501],[63.65153719,16.3020867],[63.7392066,16.3502035],[63.82683968,16.3983725],[63.91443636,16.4465937],[64.00198135,16.4948947],[64.08945474,16.5432699],[64.17694175,16.5916911],[64.26440738,16.6401907],[64.35182119,16.6887562],[64.43919833,16.7373877],[64.52654633,16.7860854],[64.6138501,16.834854],[64.70112236,16.8836834],[64.78835233,16.9325787],[64.87554536,16.9815399],[64.96270141,17.0305669],[65.05040964,17.0796597],[65.13749269,17.1288183],[65.22453161,17.1780816],[65.31154033,17.2273715],[65.39849761,17.2767271],[65.48545306,17.3261095],[65.57234986,17.3755906],[65.65920929,17.4251433],[65.74603124,17.4747614],[65.83281568,17.5244452],[65.91956258,17.5741944],[66.00639315,17.6242365],[66.09294354,17.6738893],[66.1795775,17.7238349],[66.26617371,17.773845],[66.35273155,17.8239236],[66.43925214,17.8740653],[66.52573557,17.9242723],[66.61218031,17.9745457],[66.69858704,18.0248832],[66.78495575,18.0752859],[66.87128637,18.1257539],[66.95758681,18.1762974],[67.04384128,18.2269294],[67.13005793,18.2775915],[67.21623572,18.3282862],[67.30237515,18.3790799],[67.38847632,18.4299389],[67.47453909,18.4808646],[67.56056336,18.5318534],[67.64654909,18.582907],[67.73249624,18.6340257],[67.81840477,18.6852102],[67.90426889,18.7364587],[67.99009585,18.7877598],[68.0758881,18.8391378],[68.16164153,18.8905805],[68.24731972,18.9421547],[68.33303804,18.9938285],[68.41865045,19.0454651],[68.50428422,19.0971003],[68.58982458,19.1487648],[68.6753441,19.2005956],[68.7608244,19.2524909],[68.84626606,19.3044545],[68.93166944,19.3564773],[69.01703263,19.408569],[69.10235566,19.4607226],[69.18764069,19.5129403],[69.27288506,19.5652224],[69.35808983,19.6175689],[69.44325505,19.6699787],[69.52821655,19.7224502],[69.61346683,19.7749975],[69.69851479,19.827601],[69.7835212,19.8802688],[69.86848643,19.9330006],[69.95341325,19.9857966],[70.03830019,20.0386554],[70.1231472,20.0915797],[70.20795508,20.1445681],[70.29272206,20.1976205],[70.37744766,20.250737],[70.46213275,20.3039177],[70.54677852,20.3571557],[70.63138489,20.410464],[70.71595097,20.4638362],[70.80047632,20.5172734],[70.88496175,20.5707734],[70.96940696,20.624337],[71.05381142,20.6779643],[71.13817535,20.7316554],[71.22249852,20.7854142],[71.30678304,20.8392326],[71.39102492,20.8931148],[71.47522577,20.9470595],[71.55938607,21.0010683],[71.64350614,21.0551418],[71.72758508,21.1092781],[71.81162258,21.1634778],[71.89561969,21.217741],[71.97957381,21.2720658],[72.06348908,21.3264524],[72.14736308,21.3809059],[72.23119587,21.4354229],[72.31498752,21.490003],[72.39873796,21.5446463],[72.48244705,21.5993528],[72.56611484,21.6541225],[72.64974124,21.7089554],[72.73332619,21.7638514],[72.81686984,21.8188106],[72.90035504,21.8739254],[72.98381539,21.9290103],[73.06725092,21.9840663],[73.15062802,22.0392774],[73.23396338,22.0946108],[73.31725695,22.1499497],[73.40050874,22.2052906],[73.48371867,22.2607534],[73.56688618,22.3162826],[73.6500141,22.3719332],[73.73312501,22.4275845],[73.81616703,22.4832985],[73.89916693,22.5390751],[73.98212468,22.5949127],[74.06501449,22.6508146],[74.14788551,22.7067161],[74.23071484,22.7627418],[74.31350355,22.8188313],[74.39625037,22.8750378],[74.47895425,22.9312523],[74.56161565,22.9874721],[74.64423451,23.0438117],[74.72692711,23.1007582],[74.80934445,23.1566776],[74.89183548,23.213204],[74.97428372,23.2697929],[75.05668926,23.3264439],[75.13907032,23.3831859],[75.22139034,23.4399615],[75.30366765,23.4967991],[75.38590181,23.5536989],[75.46809294,23.6106607],[75.55024101,23.6676846],[75.63234664,23.7247723],[75.7143961,23.7819203],[75.796408,23.8391003],[75.87838268,23.8963705],[75.96031486,23.9537042],[76.04220371,24.0110997],[76.12404921,24.068557],[76.20585127,24.1260762],[76.2876387,24.1836571],[76.36935333,24.2412996],[76.45102443,24.2990039],[76.53265129,24.3567723],[76.61423514,24.4145998],[76.69577533,24.472489],[76.77727174,24.5304396],[76.85872436,24.5884518],[76.94013314,24.6465255],[77.02149803,24.7046606],[77.10281898,24.7628571],[77.18409645,24.8211132],[77.26532937,24.8794325],[77.34651821,24.9378132],[77.42766293,24.9962551],[77.50876158,25.0547541],[77.5898179,25.1133185],[77.67082997,25.1719441],[77.75179781,25.2306309],[77.83272123,25.2893785],[77.91360014,25.3481873],[77.99443465,25.4070574],[78.07522473,25.4659885],[78.15597028,25.5249805],[78.23677902,25.5842359],[78.31732949,25.6431484],[78.39794131,25.7023232],[78.47850839,25.7615589],[78.55903072,25.8208555],[78.63950823,25.8802128],[78.71994113,25.9396311],[78.80026467,25.9992277],[78.88060757,26.0587669],[78.96090563,26.1183668],[79.0412224,26.1779104],[79.12143007,26.2376317],[79.20159248,26.2974139],[79.28170983,26.3572563],[79.3617819,26.417159],[79.44180878,26.4771223],[79.52176781,26.5372586],[79.60170361,26.5973435],[79.68159438,26.6574878],[79.76144038,26.7176932],[79.84126291,26.7778458],[79.92101721,26.838171],[80.00072591,26.8985564],[80.08038335,26.9589994],[80.16000066,27.0195051],[80.23957216,27.0800701],[80.31909801,27.140696],[80.39857806,27.201382],[80.47801225,27.2621279],[80.55740051,27.3229338],[80.63674286,27.3837997],[80.71603925,27.4447255],[80.79528944,27.505711],[80.87449361,27.5667571],[80.95365174,27.6278624],[81.03276723,27.6890376],[81.11183569,27.7502641],[81.19085525,27.8115487],[81.26982845,27.872893],[81.34875536,27.934297],[81.42763587,27.9957605],[81.50646993,28.0572836],[81.58525751,28.1188662],[81.66399854,28.1805083],[81.74269299,28.2422098],[81.82134082,28.3039707],[81.89994156,28.3657903],[81.9784994,28.4276722],[82.05700304,28.4895994],[82.13546388,28.5515975],[82.21387788,28.6136548],[82.29224237,28.6757699],[82.37056257,28.7379456],[82.44890563,28.8002649],[82.52713307,28.8625599],[82.60524238,28.9248289],[82.68337141,28.9872389],[82.7614563,29.0497099],[82.83949399,29.1122398],[82.91748443,29.1748286],[82.99542698,29.237479],[83.07332285,29.3001856],[83.15117138,29.362951],[83.22897243,29.4257752],[83.30672697,29.4886654],[83.38443298,29.5516073],[83.46209151,29.6146076],[83.53970245,29.6776665],[83.61726572,29.740784],[83.69478131,29.8039601],[83.77224917,29.8671947],[83.84966925,29.9304877],[83.92704139,29.9938391],[84.00436636,30.0572506],[84.08164288,30.1207189],[84.15887095,30.1842421],[84.23605134,30.2478314],[84.31318369,30.3114708],[84.39026816,30.3751722],[84.4673045,30.4389318],[84.5442928,30.5027497],[84.62123275,30.5666255],[84.6981238,30.6305568],[84.7749672,30.6945488],[84.85176241,30.7585994],[84.92850909,30.8227075],[85.00520734,30.8868735],[85.08185729,30.9510939],[85.15845847,31.0153758],[85.23501115,31.0797154],[85.3115152,31.1441128],[85.38797063,31.20847],[85.46437737,31.2729846],[85.54073537,31.3375569],[85.61704458,31.4021868],[85.69330437,31.4668744],[85.76951589,31.5316195],[85.84572604,31.5965397],[85.92183982,31.6614002],[85.99790458,31.7263181],[86.07384278,31.7912983],[86.14980885,31.8563309],[86.22575506,31.9213021],[86.30162331,31.9864492],[86.37744236,32.0516535],[86.45321262,32.1169151],[86.52893307,32.1833983],[86.60460418,32.2476099],[86.68022588,32.3130436],[86.75579818,32.3785338],[86.83132091,32.4441361],[86.90682075,32.5097412],[86.98224466,32.575403],[87.05761896,32.6411216],[87.13294386,32.7068972],[87.20821881,32.7727296],[87.28344557,32.8386188],[87.35862094,32.9045648],[87.43371837,32.9705693],[87.50879457,33.0365663],[87.58382131,33.1026823],[87.65879542,33.1688613],[87.73372375,33.2350904],[87.80859957,33.301376],[87.88342536,33.3677182],[87.95820098,33.4341168],[88.03292634,33.5005719],[88.10760159,33.5670834],[88.18222709,33.6336514],[88.25679968,33.7002756],[88.33132409,33.766956],[88.40579813,33.8336875],[88.48031191,33.9004807],[88.55459489,33.96733],[88.6289175,34.0342357],[88.70318962,34.1011973],[88.7775803,34.1682149],[88.85158198,34.2352886],[88.92570211,34.3024183],[88.99977165,34.369604],[89.07385152,34.4368455],[89.14783237,34.504143],[89.22174803,34.5714962],[89.29561252,34.6389054],[89.36942832,34.7063703],[89.44319333,34.7738909],[89.51690696,34.8414672],[89.59056954,34.9090992],[89.66416794,34.9767868],[89.73772212,35.0445299],[89.81123102,35.1123286],[89.88468892,35.1802523],[89.95809542,35.2481622],[90.03145075,35.3161278],[90.10475444,35.3841484],[90.17800704,35.4522244],[90.25120822,35.520282],[90.32435794,35.5884684],[90.39745621,35.65671],[90.47050283,35.7250068],[90.54349785,35.7933587],[90.61644124,35.8617658],[90.68933293,35.9302277],[90.76217292,35.9987449],[90.8349609,36.067317],[90.90769735,36.1359447],[90.98038208,36.2046267],[91.05301479,36.2733643],[91.12559557,36.342156],[91.19812438,36.4110025],[91.27060117,36.4799037],[91.34300145,36.5488597],[91.4154205,36.6178703],[91.4877409,36.6869363],[91.5600092,36.7560576],[91.63220335,36.825232],[91.70436721,36.8944608],[91.77647877,36.9637442],[91.84853799,37.033082],[91.92054482,37.1024741],[91.99249923,37.1718443],[92.06440135,37.2413433],[92.13625079,37.3108966],[92.2080477,37.3805041],[92.27979201,37.4501659],[92.35148368,37.5198818],[92.42312269,37.5896518],[92.49451241,37.659477],[92.56624255,37.7293541],[92.6377233,37.7992862],[92.70915122,37.8692723],[92.78052627,37.9393124],[92.85184839,38.0094063],[92.92311757,38.0795541],[92.99433374,38.1497557],[93.06549688,38.220011],[93.13660694,38.2903201],[93.20766388,38.3606828],[93.27866766,38.4311686],[93.34961825,38.5016385],[93.42051559,38.572162],[93.49135962,38.6426698],[93.56215036,38.7133003],[93.63288774,38.7839843],[93.7035749,38.8547309],[93.77420994,38.9255218],[93.84478717,38.996366],[93.91531082,39.0672634],[93.9857809,39.1382142],[94.05619689,39.2092181],[94.12655924,39.2802741],[94.19686836,39.3513842],[94.26703345,39.4227131],[94.3372955,39.4939289],[94.4073833,39.5653068],[94.4775673,39.6364661],[94.54760743,39.7077324],[94.61758848,39.7791604],[94.68751692,39.8506302],[94.75739509,39.9221635],[94.82721922,39.9937498],[94.89698927,40.065389],[94.96670511,40.1370817],[95.03636687,40.2088259],[95.10597441,40.2806229],[95.1755277,40.3524723],[95.24502675,40.4243743],[95.31447146,40.4963268],[95.38386165,40.5683329],[95.45319765,40.6403922],[95.52247918,40.712504],[95.59170626,40.784668],[95.66087882,40.8568842],[95.72999683,40.9291526],[95.79906024,41.0014733],[95.86806901,41.0738461],[95.93702311,41.1462733],[96.00592255,41.2187501],[96.07476718,41.291279],[96.14355674,41.3638603],[96.21229197,41.4364997],[96.28104001,41.5093118],[96.34959765,41.5819211],[96.41816795,41.6547096],[96.48668497,41.7275557],[96.55514535,41.8004477],[96.62355418,41.8733914],[96.69190458,41.9463913],[96.76019956,42.0194382],[96.82844122,42.0925366],[96.89662576,42.1656865],[96.96475503,42.2388879],[97.03282899,42.3121337],[97.1008476,42.3854378],[97.16881062,42.4587977],[97.2367189,42.5322053],[97.30457347,42.6056635],[97.37237034,42.6791727],[97.44011017,42.752733],[97.50779431,42.8263444],[97.5754238,42.8999996],[97.64299834,42.9737132],[97.71051599,43.0474778],[97.77797913,43.1212933],[97.84538433,43.1951573],[97.91273529,43.2690788],[97.9800311,43.3430433],[98.04727249,43.4170623],[98.11445553,43.4911322],[98.18158294,43.565251],[98.24865489,43.6394222],[98.31567083,43.7136441],[98.38263029,43.7879165],[98.44953405,43.8622395],[98.51637991,43.9366122],[98.58310241,44.0110983],[98.64990714,44.0855068],[98.71658609,44.1600316],[98.78320792,44.2346098],[98.84977268,44.3092353],[98.91628224,44.383908],[98.98273571,44.4586338],[99.04913273,44.5334108],[99.11547325,44.6082368],[99.18175701,44.6831135],[99.24798415,44.7580398],[99.31415379,44.8330155],[99.38026802,44.9080417],[99.4463263,44.9831158],[99.51232713,45.0582419],[99.57827076,45.1334189],[99.64415862,45.2086446],[99.70998907,45.2839199],[99.77576265,45.359245],[99.84147933,45.4346197],[99.90694676,45.5102174],[99.97274159,45.5855183],[100.0382871,45.6610417],[100.1037759,45.7366145],[100.1692077,45.8122362],[100.2345822,45.8879079],[100.2999015,45.9636948],[100.3651886,46.0394653],[100.4303915,46.1152851],[100.4955371,46.1911529],[100.5606255,46.2670709],[100.6256292,46.3430382],[100.6906009,46.4189895],[100.755517,46.4950548],[100.8203756,46.571169],[100.8851768,46.6473323],[100.9499203,46.7235444],[101.0146064,46.7998054],[101.0792348,46.8761142],[101.1438056,46.9524728],[101.2083187,47.0288803],[101.272774,47.1053364],[101.3371716,47.1818412],[101.4015527,47.2584721],[101.4657934,47.3349966],[101.5301289,47.4121856],[101.5941836,47.4883461],[101.6582919,47.5650932],[101.7223422,47.641889],[101.7863342,47.7187332],[101.8502739,47.795653],[101.9141623,47.8726028],[101.9779804,47.9495917],[102.0417404,48.0266288],[102.1054421,48.1037139],[102.1690856,48.1808472],[102.2326709,48.2580285],[102.2961978,48.3352579],[102.3596537,48.4125278],[102.423058,48.4898243],[102.4864097,48.5671972],[102.549703,48.6446179],[102.6129375,48.7220867],[102.6761136,48.7996026],[102.7392313,48.8771666],[102.8022904,48.9547781],[102.8652909,49.0324373],[102.9282328,49.110144],[102.9911159,49.1878981],[103.0539405,49.2656999],[103.1166802,49.3436785],[103.1794023,49.4218881],[103.2420501,49.4998311],[103.3045711,49.5777397],[103.3671539,49.655548],[103.4296513,49.7335047],[103.4920635,49.8116375],[103.5544168,49.8898174],[103.6167109,49.9680443],[103.678946,50.0463183],[103.7411221,50.1246391],[103.8032389,50.203007],[103.8652965,50.2814218],[103.9273097,50.3599112],[103.9892338,50.4383916],[104.0511136,50.5169467],[104.112934,50.5955486],[104.1744865,50.6742257],[104.2363967,50.7528922],[104.2980389,50.831634],[104.3596216,50.9104222],[104.4211477,50.9892653],[104.4826153,51.0681485],[104.5440198,51.1470769],[104.6053394,51.2260709],[104.6666319,51.3051053],[104.7278748,51.3841382],[104.7890404,51.4632509],[104.8501461,51.5424099],[104.9111919,51.6216152],[104.9721783,51.7008661],[105.0331045,51.7801634],[105.0939707,51.8595066],[105.154777,51.9388958],[105.2155233,52.0183308],[105.2762017,52.0977997],[105.3368278,52.1773267],[105.397394,52.2568991],[105.4579003,52.3365173],[105.5183462,52.416181],[105.5787319,52.4958904],[105.6390574,52.5756453],[105.6993227,52.6554458],[105.7595277,52.7352917],[105.8196723,52.8151831],[105.879707,52.8952147],[105.9397101,52.975157],[105.9997439,53.0551297],[106.0596458,53.1352019],[106.1194872,53.2153174],[106.1792692,53.2954804],[106.2389908,53.3756886],[106.2981939,53.4563548],[106.3582519,53.5362401],[106.4177911,53.6165832],[106.4772697,53.6969709],[106.5366878,53.7774039],[106.5960452,53.8578818],[106.6553419,53.9384046],[106.7145777,54.0189721],[106.7737526,54.0995842],[106.8328669,54.1802412],[106.8919197,54.2609426],[106.9509125,54.3416901],[107.0098436,54.4224807],[107.0687145,54.5033161],[107.1275236,54.5841956],[107.1862716,54.6651195],[107.2449584,54.7460877],[107.3035841,54.8271002],[107.3621482,54.9081567],[107.4206521,54.989257],[107.4790938,55.0704013],[107.5374745,55.1515905],[107.595794,55.2328239],[107.654052,55.3141012],[107.7122486,55.3954225],[107.7703838,55.4767877],[107.8284575,55.5581968],[107.8864704,55.6396522],[107.9444211,55.721149],[108.0023114,55.8026901],[108.0601389,55.8842741],[108.1179048,55.965902],[108.1756091,56.0475733],[108.2332516,56.1292883],[108.2907481,56.2112079],[108.3482667,56.2930087],[108.4058081,56.3746936],[108.4632036,56.4565844],[108.5205371,56.5385164],[108.5778105,56.6204927],[108.6350203,56.7025112],[108.6921681,56.7845729],[108.749254,56.8666778],[108.8062778,56.9488257],[108.8632399,57.0310212],[108.9201396,57.113255],[108.9769779,57.1955326],[109.0337533,57.2778523],[109.0904659,57.3602125],[109.1471169,57.442618],[109.2037054,57.5250708],[109.2602321,57.6075621],[109.3166966,57.6900967],[109.3730984,57.7726728],[109.4294376,57.8552884],[109.4857145,57.93795],[109.5419267,58.0206568],[109.5980789,58.1034028],[109.6541699,58.1861888],[109.710197,58.2690196],[109.766161,58.3518938],[109.8220608,58.4348112],[109.8779019,58.5177663],[109.9336785,58.6007659],[109.9893924,58.6838076],[110.0450432,58.7668907],[110.1006303,58.8500152],[110.1561564,58.9331795],[110.2116185,59.0163887],[110.2670175,59.0996394],[110.3223549,59.1829322],[110.3776297,59.2662654],[110.4328409,59.3496424],[110.4879891,59.4330612],[110.5430743,59.5165216],[110.5980964,59.6000235],[110.6530555,59.683567],[110.7079508,59.7671516],[110.7627829,59.8507765],[110.8175525,59.9344442],[110.8722591,60.0181534],[110.9269023,60.1019038],[110.9814832,60.1856946],[111.0359998,60.2695273],[111.0904531,60.3534013],[111.1448431,60.4373164],[111.1991697,60.5212725],[111.2534325,60.6052691],[111.3076322,60.6893071],[111.3617685,60.7733861],[111.4158412,60.857506],[111.4698503,60.9416666],[111.5237959,61.0258684],[111.577678,61.1101106],[111.6314964,61.1943934],[111.6852511,61.2787169],[111.7389421,61.3630809],[111.7924015,61.4476165],[111.8460156,61.5321545],[111.8994661,61.6165457],[111.9530686,61.7009417],[112.0064428,61.7855737],[112.0597778,61.8701992],[112.1130224,61.9548462],[112.1660898,62.0397404],[112.2192816,62.1245574],[112.272334,62.2093238],[112.3254363,62.294313],[112.3782553,62.3785964],[112.4311155,62.4634834],[112.4839117,62.5484103],[112.5366436,62.633377],[112.5893166,62.7184093],[112.6419315,62.8034623],[112.6944708,62.8885486],[112.7469482,62.9736813],[112.7993623,63.0588485],[112.8517088,63.1440536],[112.9039907,63.229298],[112.9562083,63.3145816],[113.0083499,63.3998982],[113.0604333,63.4852342],[113.1124577,63.5706362],[113.1644173,63.6560779],[113.2163126,63.7415583],[113.2681434,63.8270781],[113.3199095,63.9126369],[113.371611,63.9982347],[113.4232478,64.0838715],[113.4748161,64.1695454],[113.5263209,64.2552521],[113.5777636,64.3410055],[113.6291413,64.4267975],[113.6804542,64.5126287],[113.7317024,64.5984986],[113.7828855,64.684407],[113.8340036,64.770354],[113.8850572,64.8563397],[113.9360455,64.9423633],[113.9869691,65.028426],[114.0378274,65.1145271],[114.0886458,65.2008464],[114.1393743,65.2870242],[114.1900376,65.3732402],[114.2405847,65.4594487],[114.291145,65.5456071],[114.341613,65.6319378],[114.3920158,65.7183066],[114.4423534,65.8047135],[114.4926252,65.8911575],[114.5428322,65.9776402],[114.5929739,66.0641608],[114.6430505,66.1507194],[114.6930611,66.237315],[114.7430067,66.323949],[114.7928867,66.4106206],[114.8427014,66.49733],[114.8924504,66.584077],[114.9419169,66.6709154],[114.9917525,66.7576848],[115.041305,66.8445442],[115.0907925,66.9314413],[115.1402151,67.0183747],[115.1895707,67.1053463],[115.2388606,67.192355],[115.2880847,67.2794013],[115.3372431,67.3664844],[115.3863369,67.4536036],[115.4353639,67.5407613],[115.484325,67.6279558],[115.5332201,67.7151871],[115.5820493,67.8024552],[115.6308127,67.8897603],[115.67951,67.9771021],[115.7281414,68.0644806],[115.7767067,68.1518959],[115.8252061,68.2393477],[115.8736386,68.3268359],[115.9220057,68.4143609],[115.9703068,68.5019224],[116.0185417,68.5895204],[116.0667104,68.6771547],[116.1148129,68.7648254],[116.1627002,68.8528171],[116.2106702,68.940559],[116.2587225,69.028055],[116.3065597,69.1158694],[116.3543308,69.2037211],[116.4020356,69.2916089],[116.449674,69.3795326],[116.4972459,69.4674923],[116.5447515,69.5554879],[116.5921901,69.6435187],[116.6395627,69.731586],[116.6868687,69.819689],[116.7341083,69.9078277],[116.7812806,69.9960008],[116.8283868,70.0842111],[116.8754265,70.1724566],[116.9224001,70.2607399],[116.9693064,70.3490564],[117.0161463,70.4374085],[117.0629192,70.5257958],[117.1096254,70.6142183],[117.1562647,70.7026761],[117.2028374,70.7911692],[117.2493455,70.8796959],[117.2957843,70.9682591],[117.3421563,71.0568573],[117.3884614,71.1454906],[117.4346996,71.2341588],[117.4808706,71.3228619],[117.5269747,71.4115998],[117.5730118,71.5003725],[117.6189818,71.5891799],[117.6648848,71.6780221],[117.7107206,71.7668989],[117.7564893,71.8558102],[117.8021908,71.9447562],[117.847824,72.0337359],[117.8933906,72.1227486],[117.9388904,72.2117974],[117.9843228,72.3008811],[118.0296881,72.3899991],[118.0749861,72.4791512],[118.1202168,72.5683375],[118.1653801,72.6575581],[118.2104762,72.7468166],[118.2555062,72.836106],[118.3004674,72.9254287],[118.345361,73.0147851],[118.3901871,73.1041753],[118.4349456,73.1935994],[118.4796366,73.2830573],[118.5242602,73.3725493],[118.5688161,73.4620746],[118.6133061,73.5516386],[118.6577293,73.6412323],[118.7020822,73.7308584],[118.7463675,73.820518],[118.7905855,73.9102112],[118.8347353,73.9999376],[118.8788161,74.0896963],[118.9228301,74.1794898],[118.9667764,74.2693173],[119.010655,74.3591767],[119.0544675,74.4490704],[119.0982103,74.53899591],[119.1418852,74.62895441],[119.1854916,74.71894714],[119.2290105,74.80897161],[119.2724805,74.89902773],[119.3158803,74.98911144],[119.3592142,75.079234],[119.40248,75.16938928],[119.4456775,75.25958174],[119.4888071,75.34980112],[119.5318686,75.44005403],[119.5748618,75.53033948],[119.6177864,75.62065622],[119.6606426,75.71101179],[119.703431,75.8013945],[119.7461514,75.89180903],[119.7888034,75.98225609],[119.8313871,76.07273518],[119.8739024,76.16324651],[119.9163495,76.25378823],[119.9587271,76.34436368],[120.0010414,76.43496672],[120.0432839,76.52560376],[120.0854572,76.61627397],[120.1275604,76.7069772],[120.1696007,76.79770671],[120.2115686,76.8884735],[120.2534679,76.97927195],[120.2953001,77.07010108],[120.3370623,77.16096276],[120.3787557,77.25185588],[120.4203805,77.34278053],[120.4619367,77.43373661],[120.5034241,77.524724],[120.5448431,77.61574361],[120.5861597,77.70755959],[120.6274404,77.7986377],[120.6685612,77.88921004],[120.7098267,77.9801309],[120.7509015,78.07130537],[120.7919076,78.16251083],[120.8328493,78.25376991],[120.8737175,78.3450432],[120.9145167,78.43634155],[120.9549907,78.52801416],[120.9956528,78.61937243],[121.0365006,78.71042082],[121.0770238,78.80184189],[121.117478,78.89329353],[121.1578632,78.98477568],[121.1981744,79.07625845],[121.2384213,79.16780137],[121.2785991,79.25937443],[121.3187077,79.35097802],[121.3587471,79.44261195],[121.3987173,79.53427601],[121.4386183,79.62597025],[121.4784501,79.71769457],[121.5182145,79.80951247],[121.5579076,79.90131526],[121.5975314,79.99312952],[121.6370859,80.08497391],[121.676571,80.17684716],[121.7159865,80.2687512],[121.755331,80.36060253],[121.7947451,80.45271688],[121.8339523,80.54470914],[121.872953,80.63658167],[121.9120214,80.72863382],[121.9510201,80.82071545],[121.9899504,80.91356178],[122.028809,81.00496694],[122.0675991,81.09713669],[122.1063196,81.1893353],[122.1449704,81.28156359],[122.183552,81.37382412],[122.2220636,81.46611202],[122.2605052,81.55842817],[122.2988773,81.65077294],[122.3371795,81.74314662],[122.3754121,81.83554925],[122.413575,81.92798073],[122.4516679,82.020441],[122.4896911,82.11293001],[122.5276444,82.20544784],[122.5655279,82.2979942],[122.6033414,82.39056914],[122.6410852,82.48314884],[122.6787587,82.57578026],[122.7163625,82.6684403],[122.7538963,82.7611287],[122.7913588,82.85384168],[122.8287526,82.94658661],[122.8660763,83.03935979],[122.9033299,83.13216112],[122.9405135,83.22499055],[122.9776269,83.31784798],[123.0146703,83.4107335],[123.0516435,83.50364696],[123.0885465,83.59658831],[123.1253794,83.68955751],[123.162142,83.78255449],[123.198807,83.87571626],[123.2354292,83.96876861],[123.271981,84.06184853],[123.3084626,84.15495601],[123.3448738,84.24809098],[123.3812429,84.3411186],[123.4175135,84.43430865],[123.4537137,84.52752606],[123.4898435,84.62077078],[123.5259033,84.71404255],[123.5618921,84.80734202],[123.5978105,84.90066836],[123.6336628,84.99401928],[123.6695479,85.08739973],[123.7052554,85.18080716],[123.7408924,85.27424152],[123.7764588,85.36770271],[123.8119551,85.46119196],[123.8473808,85.5547069],[123.8827355,85.64824906],[123.9180194,85.74181737],[123.9532329,85.83541229],[123.9883754,85.92903376],[124.0234473,86.02268174],[124.0584473,86.11635657],[124.0933769,86.21005741],[124.1282364,86.30378459],[124.1630247,86.3975433],[124.1977427,86.49132313],[124.2323898,86.58513033],[124.2669669,86.67896299],[124.3014723,86.77282163],[124.3359064,86.86670596],[124.3702696,86.96061476],[124.4045623,87.05455212],[124.438784,87.14851421],[124.4729354,87.24250211],[124.5070152,87.33651576],[124.5410223,87.43055511],[124.57496,87.52461829],[124.6088267,87.61870889],[124.6426224,87.71281689],[124.676347,87.80695846],[124.7100004,87.90112547],[124.7435828,87.99531785],[124.777094,88.08953559],[124.8105306,88.18377971],[124.8438994,88.27804797],[124.8771968,88.37234081],[124.9104232,88.46665936],[124.9435777,88.56100296],[124.9766616,88.65537021],[125.0096761,88.74976327],[125.0426175,88.84418173],[125.0754875,88.93862502],[125.1082863,89.03309311],[125.1410136,89.12758594],[125.1736696,89.22210209],[125.2062546,89.31664371],[125.2387676,89.41121081],[125.2712107,89.50580207],[125.3035808,89.60041783],[125.3358797,89.69505798],[125.3681071,89.78972269],[125.4002627,89.8844115],[125.4323471,89.97912462],[125.4643599,90.07386189],[125.4963008,90.1686233],[125.5281707,90.26340881],[125.5599682,90.35821763],[125.5916947,90.45305116],[125.6233496,90.54790868],[125.6549329,90.64279001],[125.6864441,90.7376954],[125.7176743,90.83285867],[125.7489567,90.92806197],[125.7805509,91.02280541],[125.8117754,91.11755108],[125.842929,91.21257431],[125.8740101,91.30762134],[125.9050195,91.40269516],[125.9359587,91.49778928],[125.9668244,91.59290651],[125.9976184,91.68804707],[126.0283404,91.78321085],[126.058991,91.8783978],[126.0895694,91.97360815],[126.1200758,92.06884218],[126.1505099,92.16409845],[126.1808724,92.25937754],[126.2111629,92.35467953],[126.2413815,92.45000437],[126.2716002,92.54572451],[126.3015976,92.64072634],[126.3316,92.73611941],[126.3615289,92.831539],[126.3913873,92.92697343],[126.4211792,93.02245312],[126.4509028,93.11793644],[126.4805448,93.21344082],[126.5101148,93.3089689],[126.5396126,93.40451973],[126.5690383,93.50008987],[126.5983919,93.59568472],[126.6276733,93.69130169],[126.6568825,93.78694073],[126.6860194,93.88260178],[126.7150754,93.97828471],[126.7440633,94.07397105],[126.7729821,94.1696976],[126.8018305,94.26544609],[126.830606,94.36121267],[126.8593094,94.45700461],[126.8879407,94.55281819],[126.9164994,94.64865341],[126.9449836,94.74451015],[126.9733975,94.84038835],[127.0017393,94.93628796],[127.0300087,95.03221312],[127.0582057,95.12815541],[127.0863321,95.22411896],[127.1143911,95.32010131],[127.142371,95.41610712],[127.1702785,95.51213401],[127.1981123,95.6081852],[127.2258806,95.70425083],[127.2535721,95.80034048],[127.2811894,95.89645584],[127.3087348,95.99258708],[127.3362095,96.08873904],[127.3636086,96.18491167],[127.3909366,96.28110142],[127.418149,96.37755325],[127.4453319,96.47378705],[127.4724411,96.57004289],[127.4995223,96.66608146],[127.5264896,96.76237449],[127.5533826,96.85869043],[127.5802016,96.95502659],[127.6069496,97.051386],[127.6336256,97.14775898],[127.6602286,97.24415551],[127.686759,97.34057201],[127.7132169,97.43700858],[127.7396023,97.53346488],[127.7659152,97.62994098],[127.7921558,97.72643683],[127.8183237,97.82295235],[127.8444202,97.91948718],[127.8704431,98.0160419],[127.8963935,98.11261613],[127.9222713,98.20920708],[127.9480764,98.30582022],[127.9738092,98.40245246],[127.9994696,98.49910426],[128.0250564,98.59577532],[128.0505714,98.6924653],[128.0760138,98.78917265],[128.101384,98.88590104],[128.1266835,98.98270735],[128.1519328,99.07947378],[128.1770856,99.17625907],[128.2021658,99.27306237],[128.2271667,99.36988783],[128.2521017,99.4667297],[128.2769401,99.56358992],[128.3017288,99.66040914],[128.3264466,99.75730637],[128.351092,99.85422204],[128.3756663,99.9511561],[128.4001677,100.0481081],[128.4245958,100.1450788],[128.4489516,100.2420677],[128.4732351,100.3390752],[128.4974462,100.4361059],[128.5215879,100.5331492],[128.5456541,100.6302104],[128.5696481,100.7272895],[128.5935699,100.8243865],[128.6174194,100.9215012],[128.6411965,101.0186336],[128.6649014,101.1157838],[128.688534,101.2129515],[128.7120953,101.3101365],[128.7339787,101.4073388],[128.757395,101.5046563],[128.7807395,101.6018938],[128.804012,101.6991487],[128.8272126,101.7963238],[128.8503989,101.893613],[128.8734556,101.9909192],[128.8964402,102.0882359],[128.919353,102.1855728],[128.9421938,102.2829304],[128.9649628,102.3803043],[128.9876599,102.4776945],[129.0102852,102.5751019],[129.0328606,102.672526],[129.0553423,102.7699667],[129.0777522,102.867424],[129.1000901,102.9648977],[129.1223616,103.0623878],[129.1445564,103.1599405],[129.1666796,103.2574633],[129.1902339,103.3550023],[129.2107111,103.4525579],[129.2326195,103.5501292],[129.2559527,103.64767],[129.2777162,103.7452733],[129.2994077,103.8428927],[129.321028,103.9405278],[129.3425768,104.0381787],[129.3640538,104.1358453],[129.3854616,104.233526],[129.4037692,104.331223],[129.4280601,104.4289363],[129.4492522,104.5266653],[129.4703733,104.6244097],[129.491423,104.722168],[129.5124008,104.8199431],[129.5333082,104.9177333],[129.5541175,105.015675],[129.5749357,105.1134978],[129.5956882,105.2116153],[129.6162551,105.3091866],[129.6367563,105.4070529],[129.6572655,105.5047975],[129.6776767,105.6026928],[129.6980168,105.7006014],[129.7182889,105.7985403],[129.7381551,105.8967442],[129.758385,105.994697],[129.7783429,106.0926642],[129.7986656,106.190385],[129.8185824,106.288382],[129.8384282,106.3863935],[129.8582035,106.4844191],[129.8779077,106.5824591],[129.8975374,106.6805127],[129.9170979,106.7785657],[129.9365923,106.8766476],[129.955797,106.9749219],[129.9753704,107.0728508],[129.9946536,107.1709744],[130.0138686,107.2691115],[130.0330127,107.3672623],[130.0520867,107.4654268],[130.0710908,107.5636049],[130.0900248,107.6617956],[130.1088897,107.7600006],[130.1276855,107.8582187],[130.1464107,107.9564701],[130.1650655,108.0547115],[130.1836501,108.152968],[130.2021674,108.2512386],[130.2206167,108.3495219],[130.2389954,108.4478186],[130.2572963,108.5461315],[130.2755366,108.6444539],[130.293708,108.7427892],[130.3118104,108.8411371],[130.3298439,108.9394977],[130.3478086,109.0378709],[130.3657106,109.1362531],[130.3835397,109.234656],[130.4012986,109.3330666],[130.418989,109.4314895],[130.4366137,109.5299239],[130.4541672,109.6283712],[130.4716524,109.7268308],[130.4890694,109.8253025],[130.5064183,109.9237864],[130.5236987,110.0222821],[130.5409111,110.1207889],[130.5580561,110.2193083],[130.5751332,110.3178395],[130.5921412,110.4163826],[130.6090848,110.5149367],[130.625959,110.6135029],[130.6427652,110.7120805],[130.6595044,110.8106695],[130.6761738,110.9092644],[130.6927781,111.0078762],[130.7093152,111.1064996],[130.7257853,111.2051339],[130.7421868,111.3037797],[130.7585256,111.4024395],[130.7748055,111.5011024],[130.7910106,111.5997815],[130.8071461,111.698471],[130.8232154,111.7971713],[130.8392182,111.8958825],[130.8551544,111.9946051],[130.8710248,112.0933375],[130.886829,112.1920808],[130.902567,112.2908341],[130.9182388,112.3895982],[130.9338446,112.4883728],[130.9483652,112.588077],[130.9648553,112.6859535],[130.9802634,112.7847591],[130.9956075,112.8835736],[131.0108835,112.9823987],[131.0260953,113.0812316],[131.0412457,113.1800768],[131.0563229,113.278934],[131.0713389,113.3778001],[131.086291,113.4766757],[131.1011773,113.5755614],[131.1159988,113.6744566],[131.1307556,113.7733621],[131.1454478,113.8722768],[131.1600753,113.971201],[131.1746382,114.0701357],[131.189137,114.1690789],[131.2035676,114.2680324],[131.2179774,114.3671634],[131.2322485,114.4659648],[131.2464913,114.5649453],[131.2606708,114.6639348],[131.2747846,114.7629338],[131.2888357,114.8619417],[131.302825,114.9609673],[131.3167538,115.0599952],[131.3306185,115.1590319],[131.3444173,115.2580752],[131.3581519,115.3571281],[131.3718237,115.4561892],[131.3854325,115.555259],[131.3989784,115.6543415],[131.4124618,115.7534284],[131.4258842,115.852525],[131.4392383,115.9516265],[131.4525319,116.050731],[131.4657658,116.1498511],[131.478938,116.2489804],[131.4920477,116.3481173],[131.5050954,116.4472626],[131.5180815,116.5464159],[131.5310018,116.6455749],[131.5438646,116.7447442],[131.5566651,116.8439207],[131.5694056,116.9431054],[131.5820847,117.0422952],[131.5947025,117.1414946],[131.6072593,117.2407034],[131.6197553,117.3399198],[131.6321905,117.4391439],[131.6445569,117.538377],[131.6568729,117.637616],[131.6691331,117.7368617],[131.6813263,117.8361197],[131.6933239,117.9356321],[131.7056053,118.0350622],[131.7176432,118.1343537],[131.7295251,118.2332829],[131.7414186,118.3325735],[131.7532537,118.431873],[131.7650295,118.5311783],[131.7767228,118.6304756],[131.7883825,118.7297402],[131.7999809,118.8290653],[131.8115176,118.9283954],[131.823,119.0277343],[131.8344404,119.1271348],[131.8457922,119.2264257],[131.8570986,119.3257849],[131.8683469,119.4251506],[131.8795388,119.5245228],[131.8906714,119.6239016],[131.901747,119.72329],[131.9127653,119.8226828],[131.9237185,119.9220816],[131.9346201,120.021485],[131.9454727,120.1208947],[131.9562611,120.2203113],[131.9669929,120.3197342],[131.9776571,120.4191657],[131.988219,120.5186387],[131.9987813,120.6180797],[132.0093384,120.7174886],[132.0197872,120.8169383],[132.0301807,120.9163971],[132.0405234,121.0158663],[132.0508032,121.1153398],[132.0610296,121.214816],[132.0712002,121.3142982],[132.0813157,121.4137858],[132.0913762,121.5132789],[132.1013762,121.6127786],[132.1113336,121.7122824],[132.1212313,121.8117916],[132.1310727,121.9113065],[132.1408598,122.0108267],[132.1505938,122.1103507],[132.160272,122.2098799],[132.1698965,122.3094159],[132.1794673,122.408957],[132.1889878,122.508503],[132.19845,122.6080535],[132.2078619,122.7076096],[132.2172158,122.8071644],[132.2265235,122.9067292],[132.2356118,123.0064073],[132.2449672,123.1058779],[132.2541052,123.2054594],[132.2631969,123.3050452],[132.2722518,123.4046306],[132.2812415,123.5042256],[132.290179,123.6038298],[132.2990638,123.7034341],[132.307897,123.803043],[132.3163044,123.9029487],[132.3251486,124.0027739],[132.3337174,124.1021863],[132.3427165,124.2015231],[132.3512914,124.30115],[132.3598174,124.4007855],[132.3682922,124.5004255],[132.3767169,124.6000696],[132.3850903,124.6997132],[132.3934146,124.7993657],[132.4016764,124.8990241],[132.4099133,124.9986839],[132.4180963,125.0983473],[132.4262211,125.1980166],[132.4343014,125.2976859],[132.4423279,125.3973629],[132.450305,125.4970437],[132.4580454,125.5967283],[132.4660979,125.696417],[132.4739259,125.7961085],[132.4817048,125.8958047],[132.4894444,125.9955059],[132.4971275,126.0952106],[132.5047622,126.1949179],[132.5123488,126.2946288],[132.5198927,126.3943437],[132.5273842,126.4940618],[132.5348323,126.593786],[132.5422242,126.6935114],[132.5495823,126.7932407],[132.5568856,126.8929731],[132.5641416,126.9927086],[132.571351,127.0924477],[132.5785139,127.1921903],[132.5856306,127.2919363],[132.5927105,127.3916855],[132.59973,127.4914356],[132.6067087,127.5913229],[132.6134875,127.6911263],[132.6203761,127.7908884],[132.6274106,127.8906535],[132.6342312,127.9906023],[132.6409089,128.0901507],[132.6476178,128.1897963],[132.6542789,128.289573],[132.6608944,128.389354],[132.6674707,128.4891364],[132.6740032,128.5889324],[132.6804887,128.6887217],[132.6869301,128.7885144],[132.693328,128.8883093],[132.6996246,128.9881073],[132.7059358,129.087908],[132.7121952,129.1877114],[132.7184285,129.2875162],[132.7246676,129.387325],[132.7307971,129.4871365],[132.7369038,129.5869507],[132.7429673,129.6867737],[132.7489634,129.7865786],[132.7549338,129.8864006],[132.7608638,129.9862225],[132.7667504,130.0860482],[132.7725957,130.1858777],[132.7784152,130.2857071],[132.7841779,130.3855416],[132.7898992,130.4853784],[132.7955742,130.5852176],[132.8012193,130.6850591],[132.8068175,130.7849031],[132.8123775,130.8847492],[132.8178963,130.9845975],[132.8229684,131.0844481],[132.8288147,131.1843012],[132.8342137,131.2841549],[132.8395732,131.3840119],[132.8448887,131.4838711],[132.8501743,131.583732],[132.8554161,131.6835954],[132.860619,131.7834608],[132.8656557,131.8833282],[132.870908,131.9831976],[132.8759941,132.0830692],[132.8810429,132.1829426],[132.8860545,132.2828179],[132.8910273,132.3826952],[132.895961,132.4825763],[132.9006038,132.5824603],[132.9054662,132.6823374],[132.9105311,132.7822219],[132.9153056,132.8821086],[132.9200538,132.9819967],[132.9247799,133.0818856],[132.9294554,133.1817785],[132.9340946,133.2816718],[132.9386976,133.3815651],[132.9432569,133.4814616],[132.9477877,133.5813598],[132.9522822,133.6812596],[132.9567417,133.7811609],[132.9611652,133.8810638],[132.9655541,133.9809683],[132.9699066,134.0808728],[132.9742254,134.1807806],[132.9785095,134.2806895],[132.982759,134.3806],[132.9868059,134.4805118],[132.9909918,134.5804249],[132.9951532,134.6803397],[132.9994308,134.7802556],[133.0035037,134.8801727],[133.0075487,134.9800975],[133.0115688,135.0800179],[133.0155485,135.1799374],[133.0194935,135.2798605],[133.0233476,135.3797853],[133.0272274,135.4797543],[133.0307188,135.5799442],[133.0344955,135.6796731],[133.0386719,135.7795628],[133.0424272,135.8794952],[133.0461477,135.9794274],[133.0498198,136.0793479],[133.0534769,136.1792473],[133.0571018,136.2791817],[133.0606956,136.3791171],[133.0642554,136.4790539],[133.0677875,136.5789914],[133.071289,136.6789302],[133.074758,136.7788701],[133.0782053,136.8788156],[133.0816148,136.9787565],[133.0849981,137.0786988],[133.0883344,137.1786432],[133.0916543,137.2785738],[133.0949619,137.3785187],[133.0982163,137.4784543],[133.1014502,137.5784017],[133.1046774,137.6783477],[133.1078465,137.7782928],[133.1109941,137.8782427],[133.1141133,137.9781935],[133.1172207,138.0781393],[133.1202841,138.1780918],[133.1233189,138.2780451],[133.1263259,138.3779991],[133.1293049,138.4779543],[133.1322562,138.5779087],[133.1351807,138.6778652],[133.1380779,138.7778225],[133.1409481,138.8777806],[133.1437914,138.9777389],[133.1466361,139.0776984],[133.1494257,139.1776591],[133.1521909,139.2776201],[133.1549232,139.3775818],[133.1576319,139.4775437],[133.1603156,139.5775074],[133.1629728,139.6774711],[133.1655396,139.7774356],[133.1681462,139.8774032],[133.1707261,139.9773692],[133.1732816,140.07734],[133.1758767,140.1773075],[133.1783834,140.2772762],[133.1808648,140.3772443],[133.1833207,140.477213],[133.1857528,140.5771808],[133.1881764,140.6771507],[133.1905589,140.7771222],[133.1929165,140.8770953],[133.1952519,140.9770958],[133.1975641,141.0770684],[133.1998502,141.1770402],[133.2021143,141.277015],[133.2043564,141.3769899],[133.2065748,141.4769653],[133.2087692,141.5769413],[133.210945,141.6771326],[133.2131861,141.777218],[133.2153132,141.8771934],[133.2173272,141.9770597],[133.2193932,142.0768024],[133.2214539,142.1767813],[133.2235116,142.2767598],[133.2255295,142.3767395],[133.227525,142.4767187],[133.2294874,142.5767016],[133.2314401,142.6766826],[133.2333868,142.7766623],[133.2352988,142.8766441],[133.2370322,142.9767445],[133.2389115,143.0767259],[133.2406749,143.1767121],[133.2427256,143.276576],[133.2445354,143.3765614],[133.2463236,143.4765457],[133.248092,143.5765303],[133.24984,143.6765172],[133.2515697,143.7765022],[133.2532634,143.8765666],[133.2549349,143.9765533],[133.2566041,144.0765392],[133.2582714,144.176522],[133.2599056,144.2765088],[133.2615385,144.3764167],[133.2631327,144.4764044],[133.2647099,144.5763922],[133.2663881,144.6766064],[133.2679312,144.7765931],[133.2690455,144.8766157],[133.2708389,144.9763434],[133.2723258,145.0763314],[133.2737989,145.17632],[133.2752512,145.2763096],[133.2766861,145.3762995],[133.2780942,145.4762898],[133.2794946,145.5762805],[133.2808866,145.6762711],[133.2819024,145.7763002],[133.2833085,145.8765507],[133.2849231,145.9762143],[133.2861138,146.0762095],[133.2875418,146.176202],[133.2888449,146.2761933],[133.2901068,146.376186],[133.2913433,146.4761925],[133.2926009,146.576186],[133.2938232,146.6761797],[133.2950301,146.7761736],[133.2962217,146.8761677],[133.2973982,146.976162],[133.2985595,147.0761568],[133.2996838,147.176151],[133.3008381,147.276146],[133.3019551,147.376141],[133.3030593,147.4761362],[133.3041476,147.5761316],[133.3052169,147.6761153],[133.3062209,147.7761112],[133.30734,147.8761046],[133.3083717,147.9760983],[133.3093733,148.0760944],[133.3103773,148.1760907],[133.31138,148.2760871],[133.3123627,148.3760836],[133.3133271,148.4760803],[133.3142784,148.5760771],[133.3152173,148.6760738],[133.3161431,148.7760723],[133.3170541,148.8760696],[133.3179541,148.9760669],[133.3188411,149.0760647],[133.3197159,149.1760625],[133.3205785,149.2760601],[133.3213415,149.3760578],[133.3222702,149.4760557],[133.3230966,149.5760535],[133.3239114,149.6760515],[133.3247163,149.776049],[133.3255077,149.876047],[133.3262878,149.9760797],[133.3270697,150.0760874],[133.3278268,150.1760857],[133.3285727,150.2760837],[133.3292126,150.3762048],[133.3300764,150.4762451],[133.3306462,150.5762335],[133.3313343,150.6761985],[133.3320262,150.7761974],[133.3327671,150.8761544],[133.3334763,150.9760309],[133.3341369,151.0760294],[133.3347682,151.176028],[133.3354061,151.2760286],[133.3360566,151.3760257],[133.3366786,151.4760216],[133.3372894,151.5760203],[133.3378907,151.6760189],[133.3384824,151.7760176],[133.3390563,151.8760218],[133.3395348,151.9760151],[133.3401067,152.0760126],[133.3406825,152.1760114],[133.3412276,152.2760155],[133.3418334,152.3760136],[133.342361,152.4760117],[133.3428778,152.5769494],[133.3433879,152.6760094],[133.3438896,152.7760084],[133.3443828,152.8760072],[133.3448799,152.9760206],[133.3453565,153.0760194],[133.3458256,153.1760187],[133.3462861,153.2760175],[133.3465777,153.3760163],[133.3471484,153.4760151],[133.3476122,153.576014],[133.3480414,153.6760127],[133.3483169,153.7760113],[133.3487289,153.8760104],[133.3491263,153.9760063],[133.3495268,154.0760027],[133.3499215,154.1759631],[133.3503082,154.2759628],[133.3506881,154.3759624],[133.3510608,154.4759616],[133.3514307,154.5759609],[133.3517907,154.675961],[133.352136,154.7759589],[133.35248,154.8759494],[133.3528291,154.9759491],[133.3531614,155.0759487],[133.3534897,155.1759482],[133.353811,155.2759466],[133.3541273,155.3759442],[133.3545406,155.4759439],[133.3547368,155.5759434],[133.3550605,155.6759432],[133.355429,155.7759429],[133.3557009,155.8759416],[133.3559791,155.9759414],[133.3562636,156.0759419],[133.3565521,156.1759396],[133.3568145,156.27594],[133.3570719,156.3759398],[133.3573252,156.4759394],[133.3575716,156.5759393],[133.3577215,156.6759414],[133.3580596,156.7759354],[133.3582912,156.8759353],[133.3585179,156.9759352],[133.3587398,157.0759351],[133.3588229,157.1760177],[133.3590352,157.2760173],[133.3593776,157.3759347],[133.3595811,157.4759346],[133.3596522,157.57605],[133.3599755,157.6759343],[133.3601661,157.7759341],[133.3603525,157.8759334],[133.3605347,157.9759333],[133.3607116,158.0759502],[133.3608687,158.1760291],[133.3610389,158.2760291],[133.3612053,158.3760291],[133.3613478,158.4760306],[133.361506,158.5760304],[133.3616784,158.6760306],[133.361845,158.7759542],[133.3620594,158.8762508],[133.3621376,158.9759371],[133.3622796,159.0759367],[133.3624179,159.1759363],[133.3625518,159.2759361],[133.3626817,159.3759359],[133.3627915,159.4759521],[133.3629149,159.5759521],[133.3630585,159.6759522],[133.3631626,159.7759539],[133.3632768,159.8759539],[133.3633611,159.9759572],[133.363513,160.0759516],[133.3636197,160.1759514],[133.363732,160.275957],[133.3637102,160.3765445],[133.3639326,160.4759564],[133.3640278,160.5759585],[133.3641177,160.6759415],[133.3641786,160.7759427],[133.3642572,160.8759357],[133.3643749,160.975934],[133.3644585,161.0759339],[133.3645398,161.1759338],[133.3646185,161.2759322],[133.364695,161.375932],[133.3647698,161.4759354],[133.3648347,161.575938],[133.364904,161.6759381],[133.3649816,161.7759364],[133.3650449,161.8759352],[133.3651088,161.9759351],[133.3651709,162.0759351],[133.365231,162.1759351],[133.3652113,162.2759961],[133.3652679,162.3759966],[133.365295,162.4759954],[133.3654249,162.5759351],[133.3655027,162.6759334],[133.3655527,162.7759335],[133.365601,162.8759318],[133.3656452,162.9759322],[133.3656916,163.0759323],[133.3657251,163.1759785],[133.3657728,163.2759332],[133.3657902,163.375946],[133.3658283,163.4759463],[133.3658312,163.5759472],[133.3658683,163.6759472],[133.3659388,163.7759503],[133.365972,163.8759506],[133.366004,163.975951],[133.3660347,164.0759514],[133.366065,164.1759407],[133.366097,164.2759411],[133.3661247,164.3759416],[133.3661505,164.4759422],[133.366176,164.5759426],[133.3662019,164.6759438],[133.3662267,164.7759447],[133.3662449,164.8759414],[133.3662703,164.9759409],[133.3661778,165.0759477],[133.3663165,165.1759423],[133.3663541,165.2759403],[133.3663726,165.3759406],[133.3663136,165.4760748],[133.3663332,165.5760765],[133.3663495,165.6760764],[133.3663655,165.7760768],[133.3664081,165.8759771],[133.3664213,165.97598],[133.3664345,166.0759805],[133.3664904,166.1759426],[133.3665043,166.2759429],[133.3665154,166.3759431],[133.3665261,166.4759434],[133.3665243,166.5759436],[133.3665302,166.6759439],[133.3665513,166.7759404],[133.3665593,166.8759399],[133.3665671,166.975939],[133.3664735,167.0760525],[133.3664899,167.1763057],[133.3664171,167.2763072],[133.3664229,167.3759401],[133.3664282,167.4759401],[133.3664333,167.5759402],[133.3664248,167.6759557],[133.3663948,167.7759638],[133.366411,167.8759618],[133.3664381,167.9759409],[133.3664412,168.0761811],[133.366445,168.1759403],[133.3664476,168.2759682],[133.3664307,168.3759693],[133.3664334,168.4759715],[133.3664328,168.5759731],[133.3664534,168.6759751],[133.3664314,168.775977],[133.3664323,168.8759789],[133.3664609,168.9759829],[133.3664729,169.075984],[133.3664752,169.1759857],[133.3664227,169.2759881],[133.366463,169.3759897],[133.3664801,169.4759919],[133.3664822,169.5759939],[133.3664671,169.6759944],[133.3664669,169.7760061],[133.3664853,169.8760076],[133.3664889,169.9760091],[133.3664894,170.0760215],[133.3664428,170.1760119],[133.3664432,170.2760131],[133.3664437,170.3760129],[133.3664902,170.4760139],[133.3664903,170.5760027],[133.3664728,170.6760037],[133.3664728,170.776005],[133.3664704,170.8760059],[133.3664706,170.9760069],[133.366432,171.0760079],[133.3664304,171.1760096],[133.3664696,171.2760137],[133.3664694,171.3760135],[133.36647,171.4760197],[133.3664726,171.5760107],[133.3664724,171.6760111],[133.3664895,171.7760114],[133.3664894,171.8759304],[133.3664795,171.975932],[133.3664883,172.0759302],[133.3664877,172.1759302],[133.3664735,172.2760381],[133.366473,172.3760379],[133.3664727,172.4760372],[133.3664722,172.576037],[133.366467,172.6760002],[133.3664663,172.7760001],[133.3664775,172.8759302],[133.3664767,172.9759302],[133.3664649,173.0759785],[133.3664488,173.1759925],[133.366453,173.2759474],[133.3666765,173.3759475],[133.3666762,173.4759473],[133.3667026,173.5759477],[133.3663248,173.6762908],[133.3666174,173.7760041],[133.3666179,173.8758959],[133.3666191,173.9759028],[133.3666992,174.0759099],[133.3666938,174.1759174],[133.3666542,174.2759253],[133.3666545,174.3759334]]};function m3(e){let t=e.points.map(o=>{if(!o||o.length<2)throw new Error("PointCloud entry must be [x, y]");return [o[0],o[1]]});return Object.freeze({lengthMm:e.lengthMm,samplingMm:e.samplingMm,points:Object.freeze(t)})}s(m3,"freeze");var ze={AT2050_180_COMBINED:m3(r5),AT2050_0500_HALF:m3(n5),AT2050_0501_HALF:m3(i5)};function Xe(e){return ze[e]}s(Xe,"getPointCloud");function lo(e,t){ze[e]=t;}s(lo,"registerPointCloud");function co(e){return e in ze?(delete ze[e],true):false}s(co,"unregisterPointCloud");var mo=[1,0,0];function uo(e){return {positionMm:[e,0,0],tangent:mo,yawDeg:0}}s(uo,"sampleStraight");function po(e,t,o){let r=Math.sign(t)||1,n=e/o,i=Math.cos(n),a=Math.sin(n);return {positionMm:[o*a,-r*o*(1-i),0],tangent:[i,-r*a,0],yawDeg:-r*n*180/Math.PI}}s(po,"sampleCurve");function fo(e,t){let o=Xe(t);if(!o)throw new z("invalid-config",`Unknown point-cloud id "${t}". Did you forget to register it via registerPointCloud()?`,{freePathId:t});let r=o.samplingMm,n=o.points.length,i=e/r,a=Math.max(0,Math.min(Math.floor(i),n-2)),l=i-a,c=o.points[a],m=o.points[a+1],u=c[0]+(m[0]-c[0])*l,p=c[1]+(m[1]-c[1])*l,d=m[0]-c[0],f=m[1]-c[1],M=Math.hypot(d,f)||1,g=d/M,h=f/M;return {positionMm:[u,-p,0],tangent:[g,-h,0],yawDeg:Math.atan2(-h,g)*180/Math.PI}}s(fo,"sampleFree");function u1(e,t){let o=Math.max(0,Math.min(t,e.moduleLengthMm));switch(e.pathType){case "Straight":return uo(o);case "Curve":{if(e.centerlineRadiusMm==null)throw new z("invalid-config",`Curve module "${e.moduleType}" is missing centerlineRadiusMm.`,{moduleType:e.moduleType});return po(o,e.endAngleDeg,e.centerlineRadiusMm)}case "Free":{if(!e.freePathId)throw new z("invalid-config",`Free module "${e.moduleType}" is missing freePathId.`,{moduleType:e.moduleType});return fo(o,e.freePathId)}}}s(u1,"sampleModulePath");function u3(e){switch(e.pathType){case "Straight":return {deltaPositionMm:[e.moduleLengthMm,0,0],deltaYawDeg:0};case "Curve":{let t=e.endAngleDeg,o=e.centerlineRadiusMm,r=Math.abs(t)*Math.PI/180,n=Math.sign(t)||1;return {deltaPositionMm:[o*Math.sin(r),-n*o*(1-Math.cos(r)),0],deltaYawDeg:-t}}case "Free":{if(!e.freePathId)throw new z("invalid-config",`Free module "${e.moduleType}" is missing freePathId.`,{moduleType:e.moduleType});let t=Xe(e.freePathId);if(!t)throw new z("invalid-config",`Unknown point-cloud id "${e.freePathId}" for module "${e.moduleType}".`,{moduleType:e.moduleType,freePathId:e.freePathId});let o=t.points[t.points.length-1];return {deltaPositionMm:[o[0],-o[1],0],deltaYawDeg:-e.endAngleDeg}}}}s(u3,"moduleEndDelta");var s5=Object.freeze({positionMm:[0,0,0],yawDeg:0});function go(e,t,o){let r=Math.cos(o*j),n=Math.sin(o*j);return [r*e-n*t,n*e+r*t]}s(go,"rotateXY");function a5(e,t){let[o,r]=go(t.positionMm[0],t.positionMm[1],e.yawDeg);return {positionMm:[e.positionMm[0]+o,e.positionMm[1]+r,e.positionMm[2]+t.positionMm[2]],yawDeg:e.yawDeg+t.yawDeg}}s(a5,"composePose");function Z(e){let t=0,o=s5,r=[];for(let n=0;n<e.length;n++){let i=e[n],a=Z1(i.moduleType);if(!a)throw new z("unknown-module-type",`Unknown moduleType "${i.moduleType}" at index ${n}`,{index:n,moduleType:i.moduleType});let l=a.moduleLengthMm,c=o;r.push({moduleType:i.moduleType,catalog:a,status:i.status,globalNumber:i.globalNumber,startWorldPose:c,startPositionInPartMm:t,trackLengthMm:l}),t+=l;let m=u3(a),u={positionMm:m.deltaPositionMm,yawDeg:m.deltaYawDeg};o=a5(o,u);}return {modules:r,trackLengthMm:t,endPose:o}}s(Z,"buildChain");function l5(e,t){if(e.modules.length===0)return null;let o=Math.max(0,Math.min(t,e.trackLengthMm));if(o>=e.trackLengthMm){let r=e.modules[e.modules.length-1];return {module:r,localPosMm:r.trackLengthMm}}for(let r of e.modules)if(o<r.startPositionInPartMm+r.trackLengthMm)return {module:r,localPosMm:o-r.startPositionInPartMm};throw new z("invalid-config",`findModuleAt: pos=${o} did not land in any module; chain.modules is inconsistent.`,{pos:o,trackLengthMm:e.trackLengthMm,moduleCount:e.modules.length})}s(l5,"findModuleAt");function t1(e,t){let o=l5(e,t);if(!o)return null;let{module:r,localPosMm:n}=o,i=u1(r.catalog,n),a={positionMm:i.positionMm,yawDeg:i.yawDeg};return a5(r.startWorldPose,a)}s(t1,"moverWorldAt");function Mo(e){return Z(e).trackLengthMm}s(Mo,"trackLengthOf");function K(e,t){if(!t)return e;let o=t.direction==="negative"?-1:1;return (t.originMm??0)+o*e}s(K,"userToChainPositionMm");function O1(e,t){return t?(t.direction==="negative"?-1:1)*(e-(t.originMm??0)):e}s(O1,"chainToUserPositionMm");function Y1(e,t,o){let r=t.stopPositionsRelativeTo==="station"?t.startPositionOnPart+e:e;return K(r,o)}s(Y1,"resolveStopPositionMm");function c5(e,t){let o=t?.direction==="negative";return {userStartChainMm:o?e:0,userEndChainMm:o?0:e}}s(c5,"chainEndpointsForPart");function P2(e,t,o){if(o!==void 0){let r=e.parts.find(n=>n.objectId===o);if(r)return r}return e.parts.find(r=>r.globalNumber===t)}s(P2,"resolveMoverPart");function Ve(e,t,o,r){let n=e.processingUnits.find(d=>d.objectId===t.processingUnitObjectId);if(!n)return null;let i=n.movers.find(d=>d.index===t.moverIndex);if(!i)return null;let a=P2(n,i.partOid,r?.getPartObjectId?.(i.id));if(!a)return null;let l=r?.getPositionMm?.(i.id)??i.partPositionMm,c=K(l,n.positionFrame),m=t1(Z(a.modules),c);if(!m)return null;let u=F1(e.orientation,A1(n,o),a.partTransformation),p=new three.Vector3(m.positionMm[0],m.positionMm[1],m.positionMm[2]).applyMatrix4(u);return {xpu:n,mover:i,part:a,chainPositionMm:c,positionMm:[p.x,p.y,p.z],chainYawDeg:m.yawDeg,matrix:u}}s(Ve,"resolveMoverPose");function M1(e){let[t,o]=e.endPose.positionMm;if(Math.abs(t)>.1||Math.abs(o)>.1)return false;let r=(e.endPose.yawDeg%360+360)%360;return Math.min(r,360-r)<.1}s(M1,"isChainClosed");var bo=0;function We(e,t,o,r={}){let n=r.warningGapMm??bo,i=r.forceClosedLoop??M1(e),a=e.trackLengthMm,l=o.filter(m=>m.partOid===t),c=[];for(let m=0;m<l.length;m++){let u=l[m],p=u.pathLengthMm??b2(u.moverType)?.pathLengthMm??0;if(!(p<=0))for(let d=m+1;d<l.length;d++){let f=l[d],M=f.pathLengthMm??b2(f.moverType)?.pathLengthMm??0;if(M<=0)continue;let g=Math.abs(u.partPositionMm-f.partPositionMm),h=g,y=false;if(i){let v=a-g;v<g&&(h=v,y=true);}let P=(p+M)/2-h;P>=-n&&c.push({a:u.ref,b:f.ref,idA:u.id,idB:f.id,penetrationMm:P,positionAMm:u.partPositionMm,positionBMm:f.partPositionMm,pathLengthAMm:p,pathLengthBMm:M,viaWraparound:y});}}return c.sort((m,u)=>u.penetrationMm-m.penetrationMm),c}s(We,"checkSamePathCollisions");function p3(e,t,o={}){let r=[];for(let n of e.processingUnits){let i=new Map;for(let a of n.movers){let l={ref:{processingUnitObjectId:n.objectId,moverIndex:a.index},id:a.id,partOid:a.partOid,moverType:n.moverType,partPositionMm:t(a.id)??a.partPositionMm,...n.moverType==="Custom"&&n.customMoverLayout?.pathLengthMm!==void 0?{pathLengthMm:n.customMoverLayout.pathLengthMm}:{}},c=i.get(l.partOid);c?c.push(l):i.set(l.partOid,[l]);}for(let[a,l]of i){if(l.length<2)continue;let c=n.parts.find(m=>m.globalNumber===a);c&&r.push(...We(Z(c.modules),a,l,o));}}return r.sort((n,i)=>i.penetrationMm-n.penetrationMm),r}s(p3,"checkAllMoverCollisions");var q1=class extends three.Curve{static{s(this,"XtsModuleCurve3");}module;constructor(t){super(),this.module=t;}getPoint(t,o=new three.Vector3){let r=u1(this.module,t*this.module.moduleLengthMm);return o.set(r.positionMm[0],r.positionMm[1],r.positionMm[2])}getTangent(t,o=new three.Vector3){let r=u1(this.module,t*this.module.moduleLengthMm);return o.set(r.tangent[0],r.tangent[1],r.tangent[2]).normalize()}getLength(){return this.module.moduleLengthMm}};function Ao(e){let t=Z(e),o=new three.CurvePath;for(let r of t.modules)o.add(new q1(r.catalog));return o.updateArcLengths(),{chain:t,curvePath:o}}s(Ao,"buildPartPath");function J1(e,t=new three.Matrix4){let o=new three.Quaternion().setFromAxisAngle(new three.Vector3(0,0,1),e.yawDeg*Math.PI/180);return t.compose(new three.Vector3(e.positionMm[0],e.positionMm[1],e.positionMm[2]),o,new three.Vector3(1,1,1)),t}s(J1,"poseToMatrix4");var ee=Object.freeze({AT2000_0233:{moduleType:"AT2000_0233",glbByRailSystem:{Beckhoff:"AT2000-0233.glb"},originCorrection:{translateMm:[233,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:233,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[17.549999999999915,118329135783152e-43,233.3]}},AT2000_0249:{moduleType:"AT2000_0249",glbByRailSystem:{Beckhoff:"AT2000-0249.glb"},originCorrection:{translateMm:[249,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:249,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,0],max:[17.549999999999915,0,249]}},AT2000_0250:{moduleType:"AT2000_0250",glbByRailSystem:{Beckhoff:"AT2000-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[17.549999999999915,0,250]}},AT2001_0250:{moduleType:"AT2001_0250",glbByRailSystem:{Beckhoff:"AT2001-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-122.35567697317887,0],max:[17.549999999999915,0,250]}},AT2002_0249:{moduleType:"AT2002_0249",glbByRailSystem:{Beckhoff:"AT2002-0249.glb"},originCorrection:{translateMm:[249,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:249,endAngleDeg:0,approximateBoundsMm:{min:[-55.47512492230701,-140.43398400853,0],max:[19.0498750776926,0,249]}},AT2002_0250:{moduleType:"AT2002_0250",glbByRailSystem:{Beckhoff:"AT2002-0250.glb"},originCorrection:{translateMm:[346,-76,-34],rotationDegEuler:[-90,180,90]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-53.1496800886791,-346,-95.9999999999999],max:[21.375319911320506,-95.9999999999999,44.4339840085297]}},AT2020_0250:{moduleType:"AT2020_0250",glbByRailSystem:{Beckhoff:"AT2020-0250.glb"},originCorrection:{translateMm:[0,-636.6198,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:22.5,approximateBoundsMm:{min:[-85265128291212e-26,517.945133211544,-22.55],max:[251.27750824841,656.619772367581,17.55]}},AT2021_0250:{moduleType:"AT2021_0250",glbByRailSystem:{Beckhoff:"AT2021-0250.glb"},originCorrection:{translateMm:[0,-636.6198,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:22.5,approximateBoundsMm:{min:[-85265128291212e-26,496.745254405928,-22.55],max:[251.27750824841,656.619772367581,17.55]}},AT2025_0250:{moduleType:"AT2025_0250",glbByRailSystem:{Beckhoff:"AT2025-0250.glb"},originCorrection:{translateMm:[0,636.5,0],rotationDegEuler:[180,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:-22.5,approximateBoundsMm:{min:[-177635683940025e-27,569.682387032176,-17.55],max:[281.802589752422,712.61977236758,22.55]}},AT2026_0250:{moduleType:"AT2026_0250",glbByRailSystem:{Beckhoff:"AT2026-0250.glb"},originCorrection:{translateMm:[0,636.5,0],rotationDegEuler:[180,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:-22.5,approximateBoundsMm:{min:[-177635683940025e-27,569.682387032176,-18.7],max:[272.707780460855,712.61977236758,23.7]}},AT2040_0250:{moduleType:"AT2040_0250",glbByRailSystem:{Beckhoff:"AT2040-0250.glb"},originCorrection:{translateMm:[0,-318.3099,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-319744231092045e-27,168.03356351737,-22.55],max:[239.221214663007,338.309886183791,17.55]}},AT2041_0250:{moduleType:"AT2041_0250",glbByRailSystem:{Beckhoff:"AT2041-0250.glb"},originCorrection:{translateMm:[0,-318.3099,0],rotationDegEuler:[0,0,0]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-319744231092045e-27,160.255535677803,-22.55],max:[239.221214663007,338.309886183791,17.55]}},AT2050_0500:{moduleType:"AT2050_0500",glbByRailSystem:{Beckhoff:"AT2050-0500.glb"},originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,90,180]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-22.55,-153.35062038607114,-13.6],max:[17.55,153.35,194.4]}},AT2050_0500_180:{moduleType:"AT2050_0500_180",glbByRailSystem:{Beckhoff:"AT2050-0500.glb"},originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,90,180]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-22.55,-153.35062038607114,-13.6],max:[17.55,153.35,194.4]}},AT2100_0250:{moduleType:"AT2100_0250",glbByRailSystem:{Beckhoff:"AT2100-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[29.1499999999999,0,250]}},AT2102_0250:{moduleType:"AT2102_0250",glbByRailSystem:{Beckhoff:"AT2102-0250.glb"},originCorrection:{translateMm:[250,20,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-55.47512492230701,-140.43398400853,0],max:[29.15,0,250]}},AT2200_0500:{moduleType:"AT2200_0500",glbByRailSystem:{Beckhoff:"AT2200-0500.glb"},originCorrection:{translateMm:[500,19.5,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:500,endAngleDeg:0,approximateBoundsMm:{min:[-22.550000000000015,-96,-13.5000000000001],max:[17.549999999999915,0,500]}},AT2202_0500:{moduleType:"AT2202_0500",glbByRailSystem:{Beckhoff:"AT2202-0500.glb"},originCorrection:{translateMm:[500,19.5,0],rotationDegEuler:[0,-90,0]},pathType:"Straight",moduleLengthMm:500,endAngleDeg:0,approximateBoundsMm:{min:[-55.578940058985644,-140.254,0],max:[18.9499999999756,0,500]}},ATH2000_0250:{moduleType:"ATH2000_0250",glbByRailSystem:{Beckhoff:"ATH2000-0250.glb",HepcoGfx:"ATH2000-0250-0002.glb"},originCorrection:{translateMm:[125,-72,0],rotationDegEuler:[-90,0,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-162.5,-27.5,-111022302462516e-29],max:[125,17,96]}},ATH2001_0250:{moduleType:"ATH2001_0250",glbByRailSystem:{Beckhoff:"ATH2001-0250.glb",HepcoGfx:"ATH2001-0250-0002.glb"},originCorrection:{translateMm:[125,-72,0],rotationDegEuler:[-90,0,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-162.5,-177,-111022302462516e-29],max:[125,17,96]}},ATH2002_0250:{moduleType:"ATH2002_0250",glbByRailSystem:{Beckhoff:"ATH2002-0250.glb",HepcoGfx:"ATH2002-0250-0002.glb"},originCorrection:{translateMm:[125,-72,0],rotationDegEuler:[-90,0,0]},pathType:"Straight",moduleLengthMm:250,endAngleDeg:0,approximateBoundsMm:{min:[-162.5,-64,-113.1356458286208],max:[125,17,96]}},ATH2020_0250:{moduleType:"ATH2020_0250",glbByRailSystem:{Beckhoff:"ATH2020-0250.glb",HepcoGfx:"ATH2020-0250-0002.glb"},originCorrection:{translateMm:[0,-636.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:22.5,approximateBoundsMm:{min:[-17,-37.5,521.64065134159],max:[27.5,252.80824197787,660.619772367582]}},ATH2040_0250:{moduleType:"ATH2040_0250",glbByRailSystem:{Beckhoff:"ATH2040-0250.glb",HepcoGfx:"ATH2040-0250-0002.glb"},originCorrection:{translateMm:[0,-318.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-17,-37.5000000000001,174.167390793845],max:[27.5,242.049641787754,342.309886183791]}},ATH2041_0250:{moduleType:"ATH2041_0250",glbByRailSystem:{Beckhoff:"ATH2041-0250.glb",HepcoGfx:"ATH2041-0250-0002.glb"},originCorrection:{translateMm:[0,-318.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-17,-37.5000000000001,174.167390793845],max:[177,242.049641787754,342.309886183791]}},ATH2042_0250:{moduleType:"ATH2042_0250",glbByRailSystem:{Beckhoff:"ATH2042-0250.glb",HepcoGfx:"ATH2042-0250-0002.glb"},originCorrection:{translateMm:[0,-318.5,0],rotationDegEuler:[-90,0,-90]},pathType:"Curve",moduleLengthMm:250,endAngleDeg:45,approximateBoundsMm:{min:[-17,-37.5000000000001,133.1742403551702],max:[64,242.049641787754,342.309886183791]}},ATH2050_0500:{moduleType:"ATH2050_0500",glbByRailSystem:{Beckhoff:"ATH2050-0500.glb",HepcoGfx:"ATH2050-0500-0002.glb"},originCorrection:{translateMm:[0,-133.5,0],rotationDegEuler:[0,180,90]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-157.350063377838,-37.6000000000002,-27.500000000000004],max:[157.350063377838,198.10008108029504,22.500000000000014]}},ATH2050_0500_180:{moduleType:"ATH2050_0500_180",glbByRailSystem:{Beckhoff:"ATH2050-0500.glb",HepcoGfx:"ATH2050-0500-0002.glb"},originCorrection:{translateMm:[0,-133.5,0],rotationDegEuler:[0,180,90]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-157.350063377838,-37.6000000000002,-27.500000000000004],max:[157.350063377838,198.10008108029504,22.500000000000014]}},ATH2051_0500:{moduleType:"ATH2051_0500",glbByRailSystem:{Beckhoff:"ATH2051-0500.glb",HepcoGfx:"ATH2051-0500-0002.glb"},originCorrection:{translateMm:[0,-133.5,0],rotationDegEuler:[0,180,90]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-157.350067,-37.603088,-177],max:[157.350067,198.105557,22.496192]}},ATH2052_0500:{moduleType:"ATH2052_0500",glbByRailSystem:{Beckhoff:"ATH2052-0500.glb",HepcoGfx:"ATH2052-0500-0002.glb"},originCorrection:{translateMm:[0,-133.5,0],rotationDegEuler:[0,180,90]},pathType:"Free",moduleLengthMm:500,endAngleDeg:90,approximateBoundsMm:{min:[-157.350067,-37.498428,-63.995774],max:[157.350067,198.105565,22.496192]}}}),f3=Object.freeze({AT9014_0055:{moverType:"AT9014_0055",glb:"AT9014-0055-0550.glb",originCorrection:{translateMm:[0,39.5,0],rotationDegEuler:[0,90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:55,approximateBoundsMm:{min:[-35.0000000000003,-93.35,-27.5],max:[35,31.5,27.5]}},AT9014_0070:{moverType:"AT9014_0070",glb:"AT9014-0070-0550.glb",originCorrection:{translateMm:[0,39.5,0],rotationDegEuler:[0,90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:70,approximateBoundsMm:{min:[-37.0000000000002,-93.3499999999993,-35.00000000000011],max:[37.0000000000002,32.5000000000003,35.00000000000032]}},ATH9011_0075:{moverType:"ATH9011_0075",glb:"ATH9011-0075-0550.glb",originCorrection:{translateMm:[0,49.5,0],rotationDegEuler:[0,-90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:75,approximateBoundsMm:{min:[-46,-70.45,-37.48754345581859],max:[46,41.2,37.48754345581859]}},Hepco_GFX_1TC_A20_AS:{moverType:"Hepco_GFX_1TC_A20_AS",glb:"GFX-1TC-A20-AS.glb",originCorrection:{translateMm:[2.19,-16.44,-12.91],rotationDegEuler:[90,-90,0]},magnetPlateCenterMm:[0,3.89,-8.67],pathLengthMm:54,approximateBoundsMm:{min:[-54.55,-37.09,-24.81],max:[41.08,30.42,29.19]}},Hepco_GFX2_1TC_C25:{moverType:"Hepco_GFX2_1TC_C25",glb:"GFX2-1TC-C25.glb",originCorrection:{translateMm:[8,-11,-4.26],rotationDegEuler:[180,0,180]},magnetPlateCenterMm:[0,0,0],pathLengthMm:54,approximateBoundsMm:{min:[-23.68,-54.59,-34.76],max:[39.52,51.88,50.74]}},Hepco_GFX2_1TC_C34:{moverType:"Hepco_GFX2_1TC_C34",glb:"GFX2-1TC-C34.glb",originCorrection:{translateMm:[8,-11,-4.26],rotationDegEuler:[180,0,180]},magnetPlateCenterMm:[0,0,0],pathLengthMm:72,approximateBoundsMm:{min:[-32.68,-54.59,-34.76],max:[48.52,51.88,50.74]}},Hepco_GFX2_1TC_M34:{moverType:"Hepco_GFX2_1TC_M34",glb:"GFX2-1TC-M34.glb",originCorrection:{translateMm:[8,-11,-4.26],rotationDegEuler:[180,0,180]},magnetPlateCenterMm:[0,0,0],pathLengthMm:82,approximateBoundsMm:{min:[-37.68,-54.59,-34.76],max:[53.52,51.88,50.74]}},Hepco_GFX2_1TC_S25:{moverType:"Hepco_GFX2_1TC_S25",glb:"GFX2-1TC-S25.glb",originCorrection:{translateMm:[8,-11,-4.28],rotationDegEuler:[180,0,180]},magnetPlateCenterMm:[0,0,0],pathLengthMm:100,approximateBoundsMm:{min:[-33.68,-54.59,-34.76],max:[49.52,51.88,50.74]}},Hepco_GFX2_FCC_C25:{moverType:"Hepco_GFX2_FCC_C25",glb:"GFX2-FCC-C25.glb",originCorrection:{translateMm:[27,0,0],rotationDegEuler:[0,-90,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:80,approximateBoundsMm:{min:[-50.6,-53.84,-3.1],max:[29.4,45.65,58.1]}},Hepco_GFX2_FCC_M34_10P:{moverType:"Hepco_GFX2_FCC_M34_10P",glb:"GFX2-FCC-M34-10P.glb",originCorrection:{translateMm:[2.02,9.62,2.8],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:102,approximateBoundsMm:{min:[-48.98,-62.94,-26.7],max:[53.02,46.85,56.8]}},Hepco_GFX2_FCC_M34_7P:{moverType:"Hepco_GFX2_FCC_M34_7P",glb:"GFX2-FCC-M34-7P.glb",originCorrection:{translateMm:[1.5,9.28,2.5],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:89,approximateBoundsMm:{min:[-42.58,-62.94,-26.7],max:[46.62,46.85,56.8]}},Hepco_GFX2_FCC_M34:{moverType:"Hepco_GFX2_FCC_M34",glb:"GFX2-FCC-M34.glb",originCorrection:{translateMm:[40.62,-6.9,-45.05],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:80,approximateBoundsMm:{min:[.48,-46.5,-74.25],max:[80.77,63.29,9.25]}},Hepco_GFX2_FCC_M40_10P:{moverType:"Hepco_GFX2_FCC_M40_10P",glb:"GFX2-FCC-M40-10P.glb",originCorrection:{translateMm:[2.02,.59,2.5],rotationDegEuler:[0,180,0]},magnetPlateCenterMm:[0,0,0],pathLengthMm:102,approximateBoundsMm:{min:[-48.98,-60.15,-26.7],max:[53.02,61.35,58.24]}}}),g3=Object.freeze({AT8200_1000_0100:{toolType:"AT8200_1000_0100",glbUrl:"AT8200-1000-0100.glb",originCorrection:{translateMm:[0,0,20],rotationDegEuler:[0,0,90]},defaultOffsetMm:[0,0,30],approximateBoundsMm:{min:[-85.1,-31.85,-23.000000000000004],max:[66.2,30.15000000000001,19.5499999999999]},label:"AT8200-1000-0100"},AT8200_2000_0100:{toolType:"AT8200_2000_0100",glbUrl:"AT8200-2000-0100.glb",originCorrection:{translateMm:[0,20,0],rotationDegEuler:[0,0,90]},defaultOffsetMm:[0,0,30],approximateBoundsMm:{min:[-97.1,-34.50000000000002,-4.800000000000022],max:[21,34.5,36.85]},label:"AT8200-2000-0100"}}),u5=Object.freeze({AT9001_0450:{plateType:"AT9001_0450",glb:"AT9001-0450.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:4,lengthMm:46,approximateBoundsMm:{min:[-23,-0.099582,-45.349998],max:[23,44.198249,17]}},AT9001_0550:{plateType:"AT9001_0550",glb:"AT9001-0550.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:5,lengthMm:49.9,approximateBoundsMm:{min:[-24.950001,-1.7,-45.349998],max:[24.950001,44.200074,17.001442]}},AT9001_0775:{plateType:"AT9001_0775",glb:"AT9001-0775.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:7,lengthMm:74,approximateBoundsMm:{min:[-37,159e-6,-45.349998],max:[37,44.199842,17.001126]}},AT9001_0AA0:{plateType:"AT9001_0AA0",glb:"AT9001-0AA0.glb",originCorrection:{translateMm:[0,-6.99,-21.68],rotationDegEuler:[-90,0,-180]},poleCount:10,lengthMm:99.9,approximateBoundsMm:{min:[-49.950001,.001189,-45.34897],max:[49.950001,44.198811,17.000052]}},ATH9001_0550_0001:{plateType:"ATH9001_0550_0001",glb:"ATH9001-0550-0001.glb",originCorrection:{translateMm:[0,-6,17.7],rotationDegEuler:[-90,0,-180]},poleCount:5,lengthMm:57,approximateBoundsMm:{min:[-28.5,-53.901125,-14.948926],max:[28.5,18.498344,28.990977]}},ATH9001_0550:{plateType:"ATH9001_0550",glb:"ATH9001-0550.glb",originCorrection:{translateMm:[0,-6,17.7],rotationDegEuler:[-90,0,-180]},poleCount:5,lengthMm:57,approximateBoundsMm:{min:[-28.5,-58.899126,-14.948926],max:[28.5,23.499825,28.990977]}},ATH9001_0AA0:{plateType:"ATH9001_0AA0",glb:"ATH9001-0AA0.glb",originCorrection:{translateMm:[0,-6,17.7],rotationDegEuler:[-90,0,-180]},poleCount:10,lengthMm:107,approximateBoundsMm:{min:[-53.5,-58.898012,-14.951002],max:[53.5,23.499199,28.99257]}}}),M3=Object.freeze({AT9000_0249:{railType:"AT9000_0249",glb:"AT9000-0249-rail.glb",originCorrection:{translateMm:[-25.5,20,0],rotationDegEuler:[0,90,0]},approximateBoundsMm:{min:[-11.1,0,0],max:[11.1,39,274.5]}},AT9000_0250:{railType:"AT9000_0250",glb:"AT9000-0250-rail.glb",originCorrection:{translateMm:[-26,20,0],rotationDegEuler:[0,90,0]},approximateBoundsMm:{min:[-11.1,0,0],max:[11.1,39,276.1]}},AT9000_0500:{railType:"AT9000_0500",glb:"AT9000-0500-rail.glb",originCorrection:{translateMm:[-26,19.5,0],rotationDegEuler:[0,90,0]},approximateBoundsMm:{min:[-11.1,0,0],max:[11.1,39,526.1]}},AT9020_1250_0170:{railType:"AT9020_1250_0170",glb:"AT9020-1250-0170-rail.glb",originCorrection:{translateMm:[190.32,-2.01,-555.33],rotationDegEuler:[0,0,159.347]}},AT9020_1250:{railType:"AT9020_1250",glb:"AT9020-1250-rail.glb",originCorrection:{translateMm:[269.56,-139.9,-27.06],rotationDegEuler:[0,0,159.371]},approximateBoundsMm:{min:[-618.58,-135.7,15.96],max:[324.44,588.62,38.16]}},AT9025_1466_0170:{railType:"AT9025_1466_0170",glb:"AT9025-1466-0170-rail.glb",originCorrection:{translateMm:[316.16,757.55,-107.97],rotationDegEuler:[0,0,113.758]}},AT9025_1466:{railType:"AT9025_1466",glb:"AT9025-1466-rail.glb",originCorrection:{translateMm:[337,791.94,-97.49],rotationDegEuler:[0,0,113.754]},approximateBoundsMm:{min:[-624.05,-246.57,86.39],max:[223.27,632.05,108.59]}},AT9040_0750:{railType:"AT9040_0750",glb:"AT9040-0750-rail.glb",originCorrection:{translateMm:[-0.07,39.38,3.5],rotationDegEuler:[0,0,180]},approximateBoundsMm:{min:[-377.31,-19.5,-14.6],max:[247.4,386.51,7.6]}},AT9050_0500_0170:{railType:"AT9050_0500_0170",glb:"AT9050-0500-0170-rail.glb",originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,0,0]}},AT9050_0500:{railType:"AT9050_0500",glb:"AT9050-0500-rail.glb",originCorrection:{translateMm:[0,-133,0],rotationDegEuler:[0,0,0]},approximateBoundsMm:{min:[-28.8,-192.35,-11.1],max:[234.3,192.35,11.1]}},HepcoGfx:{railType:"HepcoGfx",kind:"procedural-rail-profile",profile:{baseplateWidthMm:135,baseplateThicknessMm:30,baseplateTopZMm:-46.5,baseplateOuterExtentMm:16.65,baseplateSlotDepthMm:15,baseplateSlotLengthMm:104.78,baseplateSlotPitchMm:250,railWidthMm:44,railHeightMm:15.6,railTopZMm:-30.9,spearBaseHalfHeightMm:3.1,apexFlatHeightMm:.52,vFlankAngleDeg:35,railWingHeightMm:9.28,railWingInnerHalfWidthMm:15.88,topGrooveWidthMm:28.58,topGrooveDepthMm:.6,topGrooveFilletMm:.75,neckRoundCentreMm:[14.5,7.542],neckRoundRadiusMm:2.243,neckWaistCentreMm:[16.49,5.71],neckWaistRadiusMm:4.81,neckJunctionMm:[13.73,9.65],footOuterHalfWidthMm:13,footTopHeightMm:2.4,footChamferMm:.4,channelHalfWidthMm:4,channelHeightMm:3,bracketWidthMm:40,bracketHeightMm:73.8,bracketBaseHeightMm:33.8,bracketWallWidthMm:15,bracketOuterOffsetMm:61,stackYOffsetMm:-13,stackZOffsetMm:-9,spearProtrusionMm:5,undercutInsetMm:3}}});function Ze(e){return {minZMm:0,maxZMm:e}}s(Ze,"coarseHeightSpan");function d5(e){let t=e.approximateBoundsMm;if(!t)return null;let[o,r,n]=e.originCorrection.rotationDegEuler,i=new three.Matrix4().makeRotationFromEuler(new three.Euler(o*j,r*j,n*j,"XYZ")).setPosition(new three.Vector3(...e.originCorrection.translateMm)),a=1/0,l=-1/0,c=new three.Vector3;for(let m of [t.min[0],t.max[0]])for(let u of [t.min[1],t.max[1]])for(let p of [t.min[2],t.max[2]])c.set(m,u,p).applyMatrix4(i),c.z<a&&(a=c.z),c.z>l&&(l=c.z);return !Number.isFinite(a)||!Number.isFinite(l)||l-a<=0?null:{minZMm:a,maxZMm:l}}s(d5,"heightSpanOf");function h3(e,t){let o=ee[e];return (o?d5(o):null)??Ze(t)}s(h3,"moduleHeightSpan");var g5=50,M5=100,So=0,S2=1e-9,Oo=50;function Ro(e,t,o,r){let n=e.elements,i=new three.Vector3(n[0],n[1],n[2]),a=new three.Vector3(n[4],n[5],n[6]),l=new three.Vector3(n[8],n[9],n[10]),c=i.length(),m=a.length(),u=l.length();if(c<S2||m<S2||u<S2)return null;let p=i.multiplyScalar(1/c),d=a.multiplyScalar(1/m),f=l.multiplyScalar(1/u),M=new three.Vector3(n[12],n[13],n[14]),g=[t*c,o*m,r*u],h=Math.hypot(g[0],g[1],g[2]);return {center:M,axes:[p,d,f],halfExtents:g,radius:h}}s(Ro,"obbFromCenteredMatrix");function Eo(e,t,o,r){let n=e.catalog,i=n.moduleLengthMm;if(i<=S2)return [];let a=t.clone().multiply(J1(e.startWorldPose)),l=n.pathType==="Straight"?1:Math.max(1,Math.ceil(i/Oo)),c=(r.maxZMm-r.minZMm)/2,m=(r.maxZMm+r.minZMm)/2,u=[];for(let p=0;p<l;p++){let d=i*p/l,f=i*(p+1)/l,M=u1(n,d).positionMm,g=u1(n,f).positionMm,h=g[0]-M[0],y=g[1]-M[1],A=Math.hypot(h,y);if(A<S2)continue;let P=Math.atan2(y,h)/j,v=J1({positionMm:[(M[0]+g[0])/2,(M[1]+g[1])/2,m],yawDeg:P}),b=a.clone().multiply(v),T=A/2,x=Ro(b,T,o,c);x&&u.push(x);}return u}s(Eo,"buildModuleObbs");function h5(e,t,o={}){let r=o.halfWidthMm??g5,n=o.heightMm===void 0?null:Ze(o.heightMm),i=new Map,a=[],l=new Map;for(let c of t)if(c.trackTransform?.visible!==false)for(let m of c.parts){if(m.partTransformation?.visible===false)continue;let u=F1(e,c.trackTransform,m.partTransformation);l.set(m.partKey,{count:m.chain.modules.length,closed:M1(m.chain)});for(let p=0;p<m.chain.modules.length;p++){let d=m.chain.modules[p],f=n??i.get(d.moduleType);f||(f=h3(d.moduleType,M5),i.set(d.moduleType,f));let M=Eo(d,u,r,f);if(M.length===0)continue;let{center:g,radius:h}=Io(M),y={ref:{processingUnitObjectId:c.xpuObjectId,partObjectId:m.partObjectId,moduleIndex:p},moduleType:d.moduleType,partKey:m.partKey,moduleIndex:p,obbs:M,sphereCenter:g,sphereRadius:h};d.globalNumber!==void 0&&(y.globalNumber=d.globalNumber),a.push(y);}}return {probes:a,adjacency:l}}s(h5,"buildModuleProbes");function Io(e){let t=new three.Vector3;for(let r of e)t.add(r.center);t.multiplyScalar(1/e.length);let o=0;for(let r of e)o=Math.max(o,t.distanceTo(r.center)+r.radius);return {center:t,radius:o}}s(Io,"boundingSphere");function f5(e,t){return e.halfExtents[0]*Math.abs(e.axes[0].dot(t))+e.halfExtents[1]*Math.abs(e.axes[1].dot(t))+e.halfExtents[2]*Math.abs(e.axes[2].dot(t))}s(f5,"projectRadius");function ko(e,t,o,r){let n=[e.axes[0],e.axes[1],e.axes[2],t.axes[0],t.axes[1],t.axes[2]];for(let l of e.axes)for(let c of t.axes){let m=new three.Vector3().crossVectors(l,c);m.lengthSq()>S2&&n.push(m.normalize());}let i=-1/0,a=n[0];for(let l of n){let m=Math.abs(o.dot(l))-(f5(e,l)+f5(t,l));if(m>r)return null;m>i&&(i=m,a=l);}return {overlapMm:-i,axis:a}}s(ko,"obbOverlap");function wo(e,t){return e.processingUnitObjectId!==t.processingUnitObjectId?e.processingUnitObjectId<t.processingUnitObjectId:e.partObjectId!==t.partObjectId?e.partObjectId<t.partObjectId:e.moduleIndex<t.moduleIndex}s(wo,"refLess");function b5(e,t,o={}){let r=o.warningGapMm??So,n=o.includeSamePart??true,i=Math.max(0,r),a=[];for(let l=0;l<e.length;l++){let c=e[l];for(let m=l+1;m<e.length;m++){let u=e[m];if(c.partKey===u.partKey){if(!n||Math.abs(c.moduleIndex-u.moduleIndex)===1)continue;let P=t.get(c.partKey);if(P?.closed){let v=Math.min(c.moduleIndex,u.moduleIndex),b=Math.max(c.moduleIndex,u.moduleIndex);if(v===0&&b===P.count-1)continue}}if(c.sphereCenter.distanceTo(u.sphereCenter)>c.sphereRadius+u.sphereRadius+i)continue;let p=-1/0,d=null,f=0;for(let A of c.obbs)for(let P of u.obbs){let v=new three.Vector3().subVectors(P.center,A.center),b=v.length();if(b>A.radius+P.radius+i)continue;let T=ko(A,P,v,i);T&&T.overlapMm>p&&(p=T.overlapMm,d=T.axis,f=b);}if(!d||p<-i)continue;let M=wo(c.ref,u.ref),g=M?c:u,h=M?u:c,y={a:g.ref,b:h.ref,moduleTypeA:g.moduleType,moduleTypeB:h.moduleType,overlapMm:p,centerDistanceMm:f,axis:[d.x,d.y,d.z]};g.globalNumber!==void 0&&(y.globalNumberA=g.globalNumber),h.globalNumber!==void 0&&(y.globalNumberB=h.globalNumber),a.push(y);}}return a.sort((l,c)=>c.overlapMm-l.overlapMm),a}s(b5,"checkModuleCollisions");function y5(e,t){return e.processingUnits.map(o=>{let r=A1(o,t),n=[];for(let i of o.parts)try{n.push({partObjectId:i.objectId,partKey:i.globalNumber,...i.partTransformation?{partTransformation:i.partTransformation}:{},chain:Z(i.modules)});}catch(a){console.error(`[XtsViewer3D] part ${i.globalNumber} (XPU ${o.objectId}) could not be built and is excluded from module collision detection:`,a);}return {xpuObjectId:o.objectId,...r?{trackTransform:r}:{},parts:n}})}s(y5,"toModuleCollisionInputs");function te(e,t,o,r={}){let{probes:n,adjacency:i}=h5(t,y5(e,o),r);return b5(n,i,r)}s(te,"checkAllModuleCollisions");var Ho="#FF6600";function T5(e,t,o){let r=e??[];return t?[...r,{moduleTypes:[...X0],color:o??Ho}]:r.length>0?r:void 0}s(T5,"resolveModuleHighlights");function jo(e,t){return "infeedModuleGlobalNumber"in e?t.infeedModuleGlobalNumber!==void 0&&t.infeedModuleGlobalNumber===e.infeedModuleGlobalNumber:e.partObjectId===t.partObjectId&&e.segmentIndex===t.segmentIndex}s(jo,"matchesFeedSegment");function C5(e,t){let o=new Map;if(!t||t.length===0)return o;for(let r of t)for(let n of r.segments)for(let i of e){if(!jo(n,i))continue;let a=o.get(i.partObjectId);a||(a=new Map,o.set(i.partObjectId,a));for(let l of i.moduleIndices)a.has(l)||a.set(l,r.color);}return o}s(C5,"resolveFeedSegmentColors");var x5=[Math.PI/2,0,0];function A5(e){switch(e){case "linear":return three.LinearToneMapping;case "reinhard":return three.ReinhardToneMapping;case "cineon":return three.CineonToneMapping;case "agx":return three.AgXToneMapping;case "none":return three.NoToneMapping;default:return three.ACESFilmicToneMapping}}s(A5,"resolveToneMapping");function b3(e){let t=[];for(let o of e.processingUnits)for(let r of o.movers)t.push({processingUnitObjectId:o.objectId,moverIndex:r.index,id:r.id,partOid:r.partOid,partPositionMm:r.partPositionMm,...r.status?{status:r.status}:{}});return {movers:t}}s(b3,"buildRuntimeState");function p1(e,t,o,r=5,n=0,i=0){let a=e.trackLengthMm;if(a===0)return [new three.Vector3,new three.Vector3];let l=Math.max(0,Math.min(t,a)),c=Math.max(0,Math.min(o,a)),m=Math.abs(c-l),u=c>=l?1:-1,p=Math.max(2,Math.ceil(m/r)+1),d=new Array(p);for(let f=0;f<p;f++){let M=f/(p-1),g=l+u*M*m,h=t1(e,g);if(!h){d[f]=new three.Vector3;continue}let y=h.yawDeg*j,A=i===0?0:-Math.sin(y)*i,P=i===0?0:Math.cos(y)*i;d[f]=new three.Vector3(h.positionMm[0]+A,h.positionMm[1]+P,h.positionMm[2]+n);}return d}s(p1,"sampleChainRange");function R1(e,t,o=0,r=0){let n=t1(e,t);if(!n)return null;let i=n.yawDeg*j,a=new three.Vector3(Math.cos(i),Math.sin(i),0),l=r===0?0:-Math.sin(i)*r,c=r===0?0:Math.cos(i)*r;return {position:new three.Vector3(n.positionMm[0]+l,n.positionMm[1]+c,n.positionMm[2]+o),tangent:a}}s(R1,"sampleChainPoint");var Ke=20;function R2(e,t,o,r,n){let i=e[0];if(i===void 0)return [];let a=e.length===1&&o<t?[i,i]:e,l=[];for(let c=0;c<a.length;c++){let m=r(a[c]);if(!m)continue;let u=c5(m.trackLengthMm,n);l.push({chain:m,startMm:c===0?K(t,n):u.userStartChainMm,endMm:c===a.length-1?K(o,n):u.userEndChainMm});}return l}s(R2,"resolveTrackSpans");function B1(e,t){let o=new three.Box3,r=new three.Vector3;for(let n of e.processingUnits){let i=t?.[n.objectId]??n.trackTransform??null;if(!(i&&i.visible===false))for(let a of n.parts){if(a.partTransformation?.visible===false)continue;let l=C3(e,n,a,t),c=Z(a.modules),m=Math.max(20,c.modules.length*5);for(let u=0;u<=m;u++){let p=u/m*c.trackLengthMm,d=t1(c,p);d&&(r.set(d.positionMm[0],d.positionMm[1],d.positionMm[2]),r.applyMatrix4(l),o.expandByPoint(r));}}}return o.isEmpty()||o.expandByScalar(200),o}s(B1,"computeBoundingBox");var No=1,Uo=1e6,zo=1e3;function $1(e,t,o=1.1){let r=e.getCenter(new three.Vector3),n=e.getSize(new three.Vector3),i=Math.max(1,n.x),a=Math.max(1,n.y),l=Math.max(1,n.z),c=Number.isFinite(t)&&t>0?t:1,m=i*o/2,u=a*o/2;m/u<c?m=u*c:u=m/c;let p=r.z+l/2+zo;return {position:[r.x,r.y,p],up:[0,1,0],left:-m,right:m,top:u,bottom:-u,near:No,far:Uo,target:[r.x,r.y,r.z]}}s($1,"computeTopDownOrtho");var v5=[1,-1,1];function T3(e,t,o,r=1.2){let n=e.getCenter(new three.Vector3),i=e.getSize(new three.Vector3),a=Math.max(i.x,i.y,i.z)*r,l=t*(Math.PI/180),c=a/2/Math.tan(l/2),m=o.clone();return m.lengthSq()<1e-6&&m.set(...v5),m.normalize(),{position:new three.Vector3().copy(n).addScaledVector(m,c),target:n}}s(T3,"computePerspectiveFraming");function P5(){return new three.Vector3(...v5)}s(P5,"defaultViewDirection");var S5=150,y3=175;function C3(e,t,o,r){return F1(e.orientation,A1(t,r),o.partTransformation)}s(C3,"partWorldMatrix");function Xo(e,t){for(let o of e.processingUnits){let r=o.parts.find(n=>n.globalNumber===t);if(r)return {xpu:o,part:r}}return null}s(Xo,"findPartByGlobalNumber");function O5(e,t,o,r,n){let i=new three.Box3,a=t[0];if(a===void 0)return i;let l=Xo(e,a);if(!l)return i;let{xpu:c,part:m}=l,u=C3(e,c,m,n),p=c.positionFrame,d=new Map(c.parts.map(f=>[f.globalNumber,Z(f.modules)]));for(let f of R2(t,o,r,M=>d.get(M),p))for(let M of p1(f.chain,f.startMm,f.endMm,Ke))i.expandByPoint(M.applyMatrix4(u));return i.isEmpty()||i.expandByScalar(S5),i}s(O5,"regionBoundingBox");function R5(e,t,o){let r=e.stations?.find(n=>n.stationId===t);return r?O5(e,r.partOids,r.startPositionOnPart,r.endPositionOnPart,o):new three.Box3}s(R5,"computeStationBoundingBox");function E5(e,t,o){let r=e.areas?.find(n=>n.areaId===t);return r?O5(e,r.partOids,r.startPositionOnPart,r.endPositionOnPart,o):new three.Box3}s(E5,"computeAreaBoundingBox");function I5(e,t,o){let r=new three.Box3,n=e.processingUnits.find(p=>p.objectId===t.processingUnitObjectId);if(!n)return r;let i=n.parts.find(p=>p.objectId===t.partObjectId);if(!i)return r;let a=Z(i.modules),l=a.modules[t.moduleIndex];if(!l)return r;let c=C3(e,n,i,o),m=l.startPositionInPartMm,u=m+l.trackLengthMm;for(let p of p1(a,m,u,10))r.expandByPoint(p.applyMatrix4(c));return r.isEmpty()||r.expandByScalar(S5),r}s(I5,"computeModuleBoundingBox");function k5(e,t,o,r,n){let i=new three.Box3,a=Ve(e,t,o,{...r?{getPositionMm:r}:{},...n?{getPartObjectId:n}:{}});return a&&i.setFromCenterAndSize(new three.Vector3(...a.positionMm),new three.Vector3(y3*2,y3*2,y3*2)),i}s(k5,"computeMoverBoundingBox");function w5(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}s(w5,"easeInOutCubic");function D5(e){return e==="linear"?t=>t:w5}s(D5,"resolveEasing");function x3(e){let{camera:t,controls:o,toPosition:r,toTarget:n,toFrustum:i}=e,a=Math.max(0,e.durationMs),l=e.easing??w5,c=e.now??(()=>performance.now()),m=e.raf??(b=>requestAnimationFrame(b)),u=e.caf??(b=>cancelAnimationFrame(b)),p=t.position.clone(),d=o.target.clone(),f=t,M=!!i&&f.isOrthographicCamera===true,g=M?{left:f.left,right:f.right,top:f.top,bottom:f.bottom}:null,h=s(b=>{t.position.lerpVectors(p,r,b),o.target.lerpVectors(d,n,b),M&&g&&i&&(f.left=g.left+(i.left-g.left)*b,f.right=g.right+(i.right-g.right)*b,f.top=g.top+(i.top-g.top)*b,f.bottom=g.bottom+(i.bottom-g.bottom)*b,f.updateProjectionMatrix()),o.update();},"apply");if(a===0)return h(1),()=>{};let y=0,A=false,P=c(),v=s(()=>{if(A)return;let b=Math.min(1,(c()-P)/a);h(l(b)),b<1&&(y=m(v));},"tick");return y=m(v),()=>{A=true,u(y);}}s(x3,"animateCamera");A3();var Ko=4096,Yo=1.1,qo=64e6;function F5(e,t){if(!Number.isFinite(e)||e<=0)throw new Error(`captureSize: \`${t}\` must be a finite positive number, got ${e}`)}s(F5,"assertPositiveInt");function Jo(e){let{mode:t,width:o,height:r,sceneAspect:n,canvasAspect:i,defaultWidth:a,defaultHeight:l,maxDim:c}=e,m=e.maxPixels??qo;o!==void 0&&F5(o,"width"),r!==void 0&&F5(r,"height");let u=t==="top-down"?n:i,p=Number.isFinite(u)&&u>0?u:1,d,f;o!==void 0&&r!==void 0?(d=o,f=r):o!==void 0?(d=o,f=o/p):r!==void 0?(f=r,d=r*p):(d=a,f=t==="top-down"?a/p:l);let M=Math.max(1,Math.round(d)),g=Math.max(1,Math.round(f)),h=Number.isFinite(c)&&c>=1?c:1,y=Math.min(1,h/M,h/g),A=M*y*(g*y);return A>m&&(y*=Math.sqrt(m/A)),y>=1?{width:M,height:g,requestedWidth:M,requestedHeight:g,clamped:false}:{width:Math.max(1,Math.floor(M*y)),height:Math.max(1,Math.floor(g*y)),requestedWidth:M,requestedHeight:g,clamped:true}}s(Jo,"resolveCaptureSize");function Qo(e){let t=e.capabilities?.maxTextureSize,o=typeof t=="number"&&t>=1?t:Ko;try{let r=e.getContext(),n=r?.getParameter(r.MAX_RENDERBUFFER_SIZE);typeof n=="number"&&n>=1&&(o=Math.min(o,n));}catch{}return o}s(Qo,"resolveMaxRenderTargetDim");var $o=4;function er(e,t){let o=typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):0;if(o===0)return 0;let r=e===void 0?$o:Math.floor(e);return !Number.isFinite(r)||r<=0?0:Math.min(r,o)}s(er,"resolveSamples");function tr(e,t,o,r){let n=t*4;for(let i=0;i<o;i++){let a=(o-1-i)*n;r.set(e.subarray(a,a+n),i*n);}return r}s(tr,"flipRowsRgba");function or(e){for(let t=0;t<e.length;t+=4){let o=e[t+3];if(o===0||o===255)continue;let r=255/o;e[t]=Math.min(255,Math.round(e[t]*r)),e[t+1]=Math.min(255,Math.round(e[t+1]*r)),e[t+2]=Math.min(255,Math.round(e[t+2]*r));}}s(or,"unpremultiplyRgba");function rr(e){let t=null;for(let o of e)try{o();}catch(r){t=I2(t,r);}return t}s(rr,"runTeardown");function nr(e,t,o){let r=t.background,n=e.getClearColor(new three.Color),i=e.getClearAlpha(),a=e.autoClear,l=e.shadowMap.needsUpdate,c=[],m=o.exposureBoost??1;if(m!==1&&t.traverse(u=>{let p=u;p.isLight&&typeof p.intensity=="number"&&(c.push({light:p,intensity:p.intensity}),p.intensity*=m);}),o.backgroundColor===null||o.backgroundColor===void 0)e.setClearColor(0,0),t.background=null;else {let u=new three.Color(o.backgroundColor);e.setClearColor(u,1),t.background=u;}return e.autoClear=true,o.updateShadows&&e.shadowMap.enabled&&(e.shadowMap.needsUpdate=true),()=>{for(let{light:u,intensity:p}of c)u.intensity=p;t.background=r,e.setClearColor(n,i),e.autoClear=a,e.shadowMap.needsUpdate=l||e.shadowMap.needsUpdate;}}s(nr,"applySceneCaptureState");function w2(e){return e.isOrthographicCamera===true}s(w2,"isOrtho");function B5(e,t){let o=Math.abs(e.right-e.left)/2,r=Math.abs(e.top-e.bottom)/2,n=(e.right+e.left)/2,i=(e.top+e.bottom)/2,a=Number.isFinite(t)&&t>0?t:1,l=o,c=r;l/c<a?l=c*a:c=l/a,e.left=n-l,e.right=n+l,e.top=i+c,e.bottom=i-c;}s(B5,"fitOrthoFrustum");function ir(e){let{mode:t,width:o,height:r,bbox:n,liveCamera:i,paddingFactor:a}=e,l=o/r;if(t==="top-down"){if(n.isEmpty())throw new Error("capture('top-down'): scene bounding box is empty");let m=$1(n,l,a),u=new three.OrthographicCamera(m.left,m.right,m.top,m.bottom,m.near,m.far);return u.up.set(...m.up),u.position.set(...m.position),u.lookAt(new three.Vector3(...m.target)),u.updateMatrixWorld(),{camera:u,state:{positionMm:[...m.position],targetMm:[...m.target],upAxis:"Z"}}}if(!i)throw new Error("capture: no active camera to clone from");if(t==="custom"){let m=e.camera;if(!m)throw new Error("capture('custom'): `opts.camera` is required");let u=i.clone();return u.position.set(...m.positionMm),u.up.set(0,0,1),u.lookAt(new three.Vector3(...m.targetMm)),m.zoom!==void 0&&Number.isFinite(m.zoom)&&m.zoom>0&&(u.zoom=m.zoom),w2(u)?B5(u,l):u.aspect=l,u.updateProjectionMatrix(),u.updateMatrixWorld(),{camera:u,state:{positionMm:[...m.positionMm],targetMm:[...m.targetMm],upAxis:m.upAxis,...u.zoom!==1?{zoom:u.zoom}:{}}}}let c=i.clone();return w2(c)?B5(c,l):c.aspect=l,c.updateProjectionMatrix(),c.updateMatrixWorld(),{camera:c,state:{positionMm:[c.position.x,c.position.y,c.position.z],targetMm:e.liveTargetMm??[0,0,0],upAxis:"Z",...c.zoom!==1?{zoom:c.zoom}:{}}}}s(ir,"resolveCaptureCamera");function sr(e,t){let o=Number.isFinite(t)&&t>0?t:1,r=Math.max(1,e.clientWidth||e.width/o||1),n=Math.max(1,e.clientHeight||e.height/o||1);return {cssWidth:r,cssHeight:n,aspect:r/n}}s(sr,"readCanvasMetrics");function ar(e){if(e.isEmpty())return 1;let t=e.getSize(new three.Vector3);return Math.max(1,t.x)/Math.max(1,t.y)}s(ar,"sceneAspectOf");function Ye(e,t,o){let{gl:r,bbox:n}=e,i=t.mode??"current",a=sr(r.domElement,o),l=Jo({mode:i,width:t.width,height:t.height,sceneAspect:ar(n),canvasAspect:a.aspect,defaultWidth:Math.max(1,Math.round(a.cssWidth*o)),defaultHeight:Math.max(1,Math.round(a.cssHeight*o)),maxDim:Qo(r)}),{width:c,height:m}=l,{camera:u,state:p}=ir({mode:i,width:c,height:m,bbox:n,liveCamera:e.liveCamera,liveTargetMm:e.liveTargetMm?[...e.liveTargetMm]:void 0,camera:t.camera,paddingFactor:t.paddingFactor??Yo}),d=er(t.samples,r.capabilities?.maxSamples);return {widthPx:c,heightPx:m,requestedWidthPx:l.requestedWidth,requestedHeightPx:l.requestedHeight,clamped:l.clamped,samples:d,camera:p,renderCamera:u,target:new three.WebGLRenderTarget(c,m,{depthBuffer:true,stencilBuffer:false,colorSpace:three.SRGBColorSpace,samples:d})}}s(Ye,"prepareCapture");function qe(e){let{gl:t,scene:o,camera:r,target:n,width:i,height:a,registry:l}=e,c=null,m=null,u=null,p=null,d=0,f=0,M=false,g=null,h=e.out?e.readBuffer??new Uint8Array(i*a*4):null;try{p=t.getRenderTarget(),d=t.getActiveCubeFace(),f=t.getActiveMipmapLevel(),M=!0,e.sceneState&&(c=nr(t,o,e.sceneState)),l?.flushTransforms(),o.updateMatrixWorld(!0),m=l?.applyCameraDependents(r)??null,e.freezeAnimations&&(u=l?.applyPrepares()??null),t.setRenderTarget(n),t.clear(!0,!0,!1),t.render(o,r),n&&h&&t.readRenderTargetPixels(n,0,0,i,a,h);}catch(A){g=I2(g,A);}let y=rr([()=>u?.(),()=>m?.(),()=>c?.(),...e.extraTeardown??[],()=>{M&&t.setRenderTarget(p,d,f);}]);k2(g),k2(y),e.out&&h&&(tr(h,i,a,e.out),or(e.out));}s(qe,"renderOffscreenFrame");var lr=1.35,cr=.92;async function L5(e,t={}){let{gl:o,scene:r,bbox:n}=e,i=t.format??"png",a=t.quality??cr,l=t.pixelRatio??o.getPixelRatio(),c=Ye({...e,bbox:n},t,l),{widthPx:m,heightPx:u,target:p}=c,d=new Uint8ClampedArray(m*u*4);qe({gl:o,scene:r,camera:c.renderCamera,target:p,width:m,height:u,registry:e.captureRegistry,sceneState:{backgroundColor:t.backgroundColor,exposureBoost:t.exposureBoost??lr,updateShadows:t.updateShadows!==false},freezeAnimations:t.freezeAnimations!==false,out:d,extraTeardown:[()=>p.dispose()]});let f=new ImageData(d,m,u);return {blob:await ur(f,i,a),widthPx:c.widthPx,heightPx:c.heightPx,requestedWidthPx:c.requestedWidthPx,requestedHeightPx:c.requestedHeightPx,clamped:c.clamped,samples:c.samples,camera:c.camera,boundingBoxMm:{min:[n.min.x,n.min.y,n.min.z],max:[n.max.x,n.max.y,n.max.z]},mode:t.mode??"current",postProcessingBypassed:e.captureRegistry?.postProcessingActive??false}}s(L5,"captureScreenshot");function mr(e){return e==="png"?"image/png":e==="jpeg"?"image/jpeg":"image/webp"}s(mr,"mimeFor");async function ur(e,t,o){let r=e.width,n=e.height,i=mr(t);if(typeof OffscreenCanvas<"u"){let c=new OffscreenCanvas(r,n),m=c.getContext("2d");if(!m)throw new Error("Failed to acquire OffscreenCanvas 2D context");return m.putImageData(e,0,0),c.convertToBlob(t==="png"?{type:i}:{type:i,quality:o})}let a=document.createElement("canvas");a.width=r,a.height=n;let l=a.getContext("2d");if(!l)throw new Error("Failed to acquire HTMLCanvasElement 2D context");return l.putImageData(e,0,0),new Promise((c,m)=>{a.toBlob(u=>u?c(u):m(new Error("canvas.toBlob returned null")),i,t==="png"?void 0:o);})}s(ur,"encodeImageData");function pr(e){let t;try{t=e.getContext()?.isContextLost()===!0;}catch{t=true;}if(t)throw new Error("FrameCaptureSession: the WebGL context was lost. Dispose the session and start a new one once the context is restored.")}s(pr,"assertContextAlive");function G5(e,t={}){let{gl:o,scene:r,bbox:n,registry:i,moverStore:a}=e,l=o.getPixelRatio(),c=t.freezeAnimations!==false,m=t.updateShadows!==false,u=t.exposureBoost??1,p=Ye({...e,bbox:n},t,l),{widthPx:d,heightPx:f,target:M}=p,g=p.renderCamera,h=d*f*4,y=new Uint8Array(h),A=new Uint8ClampedArray(h),P=null,v=null,b=null,T=false,x=false;a?.suspendNotifications(),i?.beginSession();function C(){if(T)throw new Error("FrameCaptureSession: session already disposed");if(x)throw new Error("FrameCaptureSession: re-entrant grab() (called from inside a capture callback?)");pr(o),x=true;try{qe({gl:o,scene:r,camera:g,target:M,width:d,height:f,registry:i,sceneState:{backgroundColor:t.backgroundColor,exposureBoost:u,updateShadows:m},freezeAnimations:c,out:A,readBuffer:y});}finally{x=false;}}s(C,"renderFrame");function S(){if(!P){if(typeof document>"u")throw new Error("FrameCaptureSession.grab(): no `document` available. Use grabPixels() outside a DOM environment.");if(P=document.createElement("canvas"),P.width=d,P.height=f,v=P.getContext("2d"),!v)throw new Error("FrameCaptureSession.grab(): failed to acquire a 2D context");b=new ImageData(A,d,f);}return P.width!==d&&(P.width=d),P.height!==f&&(P.height=f),P}return s(S,"ensureCanvas"),{widthPx:p.widthPx,heightPx:p.heightPx,requestedWidthPx:p.requestedWidthPx,requestedHeightPx:p.requestedHeightPx,clamped:p.clamped,samples:p.samples,camera:p.camera,get disposed(){return T},grab(){C();let k=S();return v.putImageData(b,0,0),k},grabPixels(k){if(k&&k.length<h)throw new Error(`FrameCaptureSession.grabPixels(): \`out\` needs at least ${h} bytes, got ${k.length}`);return C(),k?(k.set(A.subarray(0,h)),k):new Uint8Array(A.buffer,A.byteOffset,h)},dispose(){T||(T=true,i?.endSession(),a?.resumeNotifications(),M.dispose());}}}s(G5,"beginFrameCapture");function dr(e){return Z1(e)?.isInfeed===true}s(dr,"isInfeedModule");function H5(e,t={}){let o=[];for(let i=0;i<e.length;i++){let a=e[i];a&&dr(a.moduleType)&&o.push(i);}if(o.length===0)return [];let r=o.map((i,a)=>{let l=o[a+1]??e.length,c=[];for(let m=i;m<l;m++)c.push(m);return {segmentIndex:a,leadModuleIndex:i,moduleIndices:c,wrapsSeam:false}}),n=o[0]??0;if(t.closed&&n>0){let i=r[r.length-1];if(i){for(let a=0;a<n;a++)i.moduleIndices.push(a);i.wrapsSeam=true;}}return r}s(H5,"splitIntoFeedSegments");function P3(e){let t=[];for(let o of e.processingUnits??[])t.push(...Je(o));return t}s(P3,"collectFeedSegments");function Je(e,t){let o=[];for(let r of e.parts??[]){let n=t?.get(r.globalNumber)??Z(r.modules),i=H5(n.modules,{closed:M1(n)});for(let a of i){let l=n.modules[a.leadModuleIndex];if(!l)continue;let c=0;for(let m of a.moduleIndices)c+=n.modules[m]?.catalog.moduleLengthMm??0;o.push({processingUnitObjectId:e.objectId,partObjectId:r.objectId,segmentIndex:a.segmentIndex,...l.globalNumber!==void 0?{infeedModuleGlobalNumber:l.globalNumber}:{},infeedModuleType:l.moduleType,moduleIndices:a.moduleIndices,lengthMm:c,wrapsSeam:a.wrapsSeam});}}return o}s(Je,"collectFeedSegmentsForXpu");var O3=180/Math.PI;function Mr(e){return Array.isArray(e)}s(Mr,"isMoverPositionEntryArray");function z5({ref:e,config:t,normalized:o,cameraRef:r,orbitRef:n,glRef:i,sceneRef:a,moverStoreRef:l,moduleStatusStoreRef:c,moverToolStateStoreRef:m,captureRegistryRef:u,measurementApi:p,trackTransformOverrides:d}){let f=W5.useRef(null),M=W5.useRef(new Set);W5.useEffect(()=>()=>{f.current?.(),f.current=null;for(let g of M.current)try{g.dispose();}catch{}M.current.clear();},[]),W5.useImperativeHandle(e,()=>{let g=s(()=>{let b=i.current?.domElement,T=b?.clientWidth||b?.width||1,x=b?.clientHeight||b?.height||1;return x>0?T/x:1},"canvasAspect"),h=s((b,T,x,C)=>{let S=$1(x,g(),C);b.left=S.left,b.right=S.right,b.top=S.top,b.bottom=S.bottom,b.up.set(...S.up),b.position.set(...S.position),b.updateProjectionMatrix(),T.target.set(...S.target),b.lookAt(new three.Vector3(...S.target)),T.update();},"snapTopDown"),y=s((b,T,x,C,S)=>{let R=T3(x,b.fov,C,S);b.position.copy(R.position),b.lookAt(R.target),T.target.copy(R.target),T.update();},"snapPerspective"),A=s((b,T)=>new three.Vector3().subVectors(b.position,T.target),"currentViewDirection"),P=s(b=>{let T=i.current,x=a.current;if(!T||!x)throw new Error(`${b}: renderer not ready (call after the component has mounted)`);let C=n.current?.target;return {gl:T,scene:x,liveCamera:r.current,...C?{liveTargetMm:[C.x,C.y,C.z]}:{},bbox:o?B1(o,d):new three.Box3}},"captureContext"),v=s(b=>{if(!o)return new three.Box3;switch(b.kind){case "scene":return B1(o,d);case "station":return R5(o,b.stationId,d);case "area":return E5(o,b.areaId,d);case "module":return I5(o,b.ref,d);case "mover":return k5(o,b.ref,d,T=>l.current?.get(T)??void 0,T=>l.current?.getPartObjectId(T))}},"boxForTarget");return {zoomToFit:s((b=1.2)=>{f.current?.();let T=r.current,x=n.current;if(!T||!x||!o)return;let C=B1(o,d);if(!C.isEmpty()){if(w2(T)){h(T,x,C,b);return}y(T,x,C,P5(),b);}},"zoomToFit"),frameTopDown:s((b=1.1)=>{f.current?.();let T=r.current,x=n.current;if(!T||!x||!o||!w2(T))return;let C=B1(o,d);C.isEmpty()||h(T,x,C,b);},"frameTopDown"),focusOn:s((b,T)=>{let x=r.current,C=n.current;if(!x||!C||!o)return;let S=v(b);if(S.isEmpty())return;f.current?.();let R=T?.durationMs??700,k=D5(T?.easing);if(w2(x)){let F=T?.paddingFactor??1.1,D=$1(S,g(),F);f.current=x3({camera:x,controls:C,toPosition:new three.Vector3(...D.position),toTarget:new three.Vector3(...D.target),toFrustum:{left:D.left,right:D.right,top:D.top,bottom:D.bottom},durationMs:R,easing:k});return}let I=x,_=T3(S,I.fov,A(I,C),T?.paddingFactor??1.2);f.current=x3({camera:I,controls:C,toPosition:_.position,toTarget:_.target,durationMs:R,easing:k});},"focusOn"),setCamera:s(b=>{f.current?.();let T=r.current,x=n.current;!T||!x||(T.position.set(...b.positionMm),T.lookAt(new three.Vector3(...b.targetMm)),x.target.set(...b.targetMm),x.update());},"setCamera"),getCamera:s(()=>{let b=r.current,T=n.current;return !b||!T?null:{positionMm:[b.position.x,b.position.y,b.position.z],targetMm:[T.target.x,T.target.y,T.target.z],upAxis:"Z"}},"getCamera"),getMoverWorldTransform:s(b=>{if(!o)return null;let T=Ve(o,b,d,{getPositionMm:s(R=>l.current.get(R),"getPositionMm"),getPartObjectId:s(R=>l.current.getPartObjectId(R),"getPartObjectId")});if(!T)return null;let x=new three.Quaternion().setFromEuler(new three.Euler(0,0,T.chainYawDeg*j,"XYZ")),C=new three.Quaternion;T.matrix.decompose(new three.Vector3,C,new three.Vector3);let S=new three.Euler().setFromQuaternion(C.multiply(x),"XYZ");return {positionMm:T.positionMm,rotationDegEuler:[S.x*O3,S.y*O3,S.z*O3]}},"getMoverWorldTransform"),getBoundingBox:s(()=>{let b=o?B1(o,d):new three.Box3;return {min:[b.min.x,b.min.y,b.min.z],max:[b.max.x,b.max.y,b.max.z]}},"getBoundingBox"),getConfig:s(()=>t,"getConfig"),getFeedSegments:s(()=>o?P3(o):[],"getFeedSegments"),getRuntimeState:s(()=>b3(t),"getRuntimeState"),exportModel:s(b=>{let T=p.toJSON(),x=T.measurements.length>0||T.annotations.length>0;return {schemaVersion:1,meta:{generatedAt:new Date().toISOString(),generator:`beckhoff-xts-viewer-3d@${U0}`},config:t,...b?.includeRuntime!==false?{runtime:b3(t)}:{},...b?.includeMeasurements!==false&&x?{measurements:T}:{}}},"exportModel"),exportScreenshot:s(async b=>L5({...P("exportScreenshot"),captureRegistry:u.current},b),"exportScreenshot"),beginFrameCapture:s(b=>{let T=G5({...P("beginFrameCapture"),registry:u.current,moverStore:l.current},b),x=M.current;x.add(T);let C=T.dispose.bind(T);return T.dispose=()=>{C(),x.delete(T);},T},"beginFrameCapture"),renderFrameNow:s(()=>{let b=i.current,T=a.current,x=r.current;if(!b||!T||!x)return;u.current?.flushTransforms();let C=b.getRenderTarget(),S=b.getActiveCubeFace(),R=b.getActiveMipmapLevel();try{b.setRenderTarget(null),b.render(T,x);}finally{b.setRenderTarget(C,S,R);}},"renderFrameNow"),setMoverPosition:s((b,T)=>{l.current.set(b,T);},"setMoverPosition"),setMoverPositions:s(b=>{let T=l.current;if(Mr(b)){if(!o)return;let x=new Map;for(let C of o.processingUnits)for(let S of C.movers)x.set(S.index,S.id);for(let C=0;C<b.length;C++){let S=b[C];if(S==null)continue;let R=x.get(C);R!==void 0&&T.setEntry(R,S.partObjectId,S.partPosition);}}else T.setMany(b);},"setMoverPositions"),getMoverPosition:s(b=>{let T=l.current.get(b);return T===void 0?null:T},"getMoverPosition"),setModuleStatuses:s(b=>{c.current.setMany(b);},"setModuleStatuses"),clearModuleStatuses:s(()=>{c.current.clearAll();},"clearModuleStatuses"),setMoverToolStates:s(b=>{m.current.setMany(b);},"setMoverToolStates"),clearMoverToolStates:s(()=>{m.current.clearAll();},"clearMoverToolStates"),checkMoverCollisions:s(b=>{if(!o)return [];let T=l.current;return p3(o,x=>T.get(x),b)},"checkMoverCollisions"),checkModuleCollisions:s(b=>o?te(o,o.orientation,d,b):[],"checkModuleCollisions"),measurements:p}},[t,o,p,d]);}s(z5,"useXtsViewerHandle");var Qe=class{static{s(this,"MoverPositionStore");}entries=new Map;version=0;onWrite=null;suspendDepth=0;suspendNotifications(){this.suspendDepth++;}resumeNotifications(){this.suspendDepth!==0&&(this.suspendDepth--,this.suspendDepth===0&&this.wroteWhileSuspended&&(this.wroteWhileSuspended=false,this.onWrite?.()));}get notificationsSuspended(){return this.suspendDepth>0}wroteWhileSuspended=false;partAssignmentListeners=new Set;partAssignmentVersion=0;subscribePartAssignment(t){return this.partAssignmentListeners.add(t),()=>{this.partAssignmentListeners.delete(t);}}notifyPartAssignment(){this.partAssignmentVersion++;for(let t of this.partAssignmentListeners)t();}notify(){if(this.version++,this.suspendDepth>0){this.wroteWhileSuspended=true;return}this.onWrite?.();}set(t,o){let r=this.entries.get(t);r?r.partPositionMm=o:this.entries.set(t,{partPositionMm:o}),this.notify();}setMany(t){for(let[o,r]of Object.entries(t)){let n=this.entries.get(Number(o));n?n.partPositionMm=r:this.entries.set(Number(o),{partPositionMm:r});}this.notify();}setEntry(t,o,r){let n=this.entries.get(t),i=n?n.partObjectId!==o:true;n?(n.partPositionMm=r,n.partObjectId=o):this.entries.set(t,{partPositionMm:r,partObjectId:o}),this.notify(),i&&this.notifyPartAssignment();}get(t){return this.entries.get(t)?.partPositionMm}getEntry(t){return this.entries.get(t)}getPartObjectId(t){return this.entries.get(t)?.partObjectId}getOr(t,o){return this.get(t)??o}has(t){return this.entries.has(t)}clear(t){let o=this.entries.get(t)?.partObjectId!==void 0;this.entries.delete(t),o&&this.notifyPartAssignment();}clearAll(){let t=false;for(let o of this.entries.values())if(o.partObjectId!==void 0){t=true;break}this.entries.clear(),t&&this.notifyPartAssignment();}},o1=W5__default.default.createContext(null);L1();var e0=class{static{s(this,"ModuleStatusStore");}entries=new Map;listeners=new Map;set(t,o){o===null?this.entries.delete(t):this.entries.set(t,o),this.notify(t);}setMany(t){let o=[];for(let r=0;r<t.length;r++){let n=t[r];if(n!==void 0)if(n===null)this.entries.delete(r)&&o.push(r);else {let i=this.entries.get(r);(!i||i.warning!==n.warning||i.error!==n.error)&&(this.entries.set(r,n),o.push(r));}}for(let r of o)this.notify(r);}get(t){return this.entries.get(t)}clear(t){this.entries.delete(t)&&this.notify(t);}clearAll(){let t=Array.from(this.entries.keys());this.entries.clear();for(let o of t)this.notify(o);}subscribe(t,o){let r=this.listeners.get(t);return r||(r=new Set,this.listeners.set(t,r)),r.add(o),()=>{r.delete(o),r.size===0&&this.listeners.delete(t);}}notify(t){let o=this.listeners.get(t);if(o)for(let r of o)r();}},t0=W5__default.default.createContext(null);var o0=class{static{s(this,"MoverToolStateStore");}entries=new Map;listeners=new Map;setMany(t){let o=[];for(let[r,n]of Object.entries(t)){let i=Number(r);if(!Number.isFinite(i))continue;let a=new Map(this.entries.get(i)),l=false;for(let[c,m]of Object.entries(n)){if(m==null){l=a.delete(c)||l;continue}let u=a.get(c);(!u||u.visible!==m.visible)&&(a.set(c,m),l=true);}l&&(a.size===0?this.entries.delete(i):this.entries.set(i,a),o.push(i));}for(let r of o)this.notify(r);}get(t){return this.entries.get(t)}clear(t){this.entries.delete(t)&&this.notify(t);}clearAll(){let t=Array.from(this.entries.keys());this.entries.clear();for(let o of t)this.notify(o);}subscribe(t,o){let r=this.listeners.get(t);return r||(r=new Set,this.listeners.set(t,r)),r.add(o),()=>{r.delete(o),r.size===0&&this.listeners.delete(t);}}notify(t){let o=this.listeners.get(t);if(o)for(let r of o)r();}},r0=W5__default.default.createContext(null);var xr=Object.freeze({useBuiltins:true}),n0=W5.createContext(xr);function I3(){return W5.useContext(n0)}s(I3,"useSidecarSource");var k3=W5__default.default.createContext(null);function s0(){return W5__default.default.useContext(k3)}s(s0,"useMeasurementStore");function q5(e){let t=W5.useCallback(r=>e?e.subscribe(r):()=>{},[e]),o=W5.useCallback(()=>e?.version??0,[e]);return W5.useSyncExternalStore(t,o,o)}s(q5,"useMeasurementVersion");function J5(e){let t=W5.useCallback(r=>e?e.subscribe(n=>{n.type==="tool"&&r();}):()=>{},[e]),o=W5.useCallback(()=>e?.getTool()??"none",[e]);return W5.useSyncExternalStore(t,o,o)}s(J5,"useMeasurementTool");var Ar=180/Math.PI,a0=1,w3=" mm";function t2(e,t){return [e[0]-t[0],e[1]-t[1],e[2]-t[2]]}s(t2,"subVec3");function vr(e,t){return [e[0]+t[0],e[1]+t[1],e[2]+t[2]]}s(vr,"addVec3");function Pr(e,t){return [e[0]*t,e[1]*t,e[2]*t]}s(Pr,"scaleVec3");function Sr(e){return Math.hypot(e[0],e[1],e[2])}s(Sr,"lengthVec3");function Or(e,t){return [(e[0]+t[0])/2,(e[1]+t[1])/2,(e[2]+t[2])/2]}s(Or,"midpointVec3");function H1(e,t=1e-9){let o=Sr(e);return o<=t?null:[e[0]/o,e[1]/o,e[2]/o]}s(H1,"normalizeVec3");function o2(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2])}s(o2,"distanceMm");function Rr(e,t){return t2(t,e)}s(Rr,"deltaMm");function Q5(e,t,o){switch(o){case "x":return Math.abs(t[0]-e[0]);case "y":return Math.abs(t[1]-e[1]);case "z":return Math.abs(t[2]-e[2]);default:return o2(e,t)}}s(Q5,"axisDistanceMm");function $5(e,t,o){let r=H1(t2(e,t)),n=H1(t2(o,t));if(!r||!n)return 0;let i=Math.min(1,Math.max(-1,r[0]*n[0]+r[1]*n[1]+r[2]*n[2]));return Math.acos(i)*Ar}s($5,"angleDeg");function oe(e){return [e[0],e[1],e[2]]}s(oe,"copyVec3");function D3(e,t=false){let o=[],r;for(let i of e)r&&o.push(o2(r,i)),r=i;let n=e[0];return t&&e.length>2&&n&&r&&o.push(o2(r,n)),{segments:o,total:o.reduce((i,a)=>i+a,0)}}s(D3,"pathLengthsMm");function e7(e,t,o){let r=Math.abs(t-e);if(!o.closed||o.trackLengthMm<=0)return r;let n=o.trackLengthMm-r%o.trackLengthMm;return Math.min(r%o.trackLengthMm,n)}s(e7,"trackDistanceMm");function _3(e,t,o,r,n=24){let i=H1(t2(e,t)),a=H1(t2(o,t));if(!i||!a)return [];let l=Math.min(1,Math.max(-1,i[0]*a[0]+i[1]*a[1]+i[2]*a[2])),c=Math.acos(l);if(!Number.isFinite(c)||c<1e-6)return [];let m=[a[0]-i[0]*l,a[1]-i[1]*l,a[2]-i[2]*l],u=H1(m);if(!u)return [];let p=Math.max(2,n),d=[];for(let f=0;f<=p;f++){let M=f/p*c,g=Math.cos(M),h=Math.sin(M);d.push([t[0]+(i[0]*g+u[0]*h)*r,t[1]+(i[1]*g+u[1]*h)*r,t[2]+(i[2]*g+u[2]*h)*r]);}return d}s(_3,"arcPoints");function Er(e,t){let o=e[0],r=e[e.length-1];if(!o||!r)return [0,0,0];if(e.length===1)return oe(o);let{segments:n,total:i}=D3(e,false);if(i<=0)return oe(o);let a=Math.min(1,Math.max(0,t))*i,l=0;for(let c=0;c<n.length;c++){let m=n[c],u=e[c],p=e[c+1];if(!u||!p)break;if(l+m>=a){let d=m>0?(a-l)/m:0;return [u[0]+(p[0]-u[0])*d,u[1]+(p[1]-u[1])*d,u[2]+(p[2]-u[2])*d]}l+=m;}return oe(r)}s(Er,"pointAlongPolyline");function re(e){switch(e.kind){case "distance":case "trackDistance":{let[t,o]=e.points;return Or(t.positionMm,o.positionMm)}case "angle":{let[t,o,r]=e.points,n=t.positionMm,i=o.positionMm,a=r.positionMm,l=H1(t2(n,i)),c=H1(t2(a,i));if(!l||!c)return oe(i);let m=H1([l[0]+c[0],l[1]+c[1],l[2]+c[2]]);if(!m)return oe(i);let u=F3(n,i,a);return vr(i,Pr(m,u*1.25))}default:return Er(e.points.map(t=>t.positionMm),.5)}}s(re,"labelAnchorFor");function F3(e,t,o){let r=Math.min(o2(e,t),o2(o,t));return Math.max(1,r*.35)}s(F3,"angleArcRadiusMm");function G1(e,t={}){let o=t.decimals??a0,r=t.unitSuffix??w3;return `${Ir(e.toFixed(o7(o)))}${r}`}s(G1,"formatLengthMm");function t7(e,t={}){let o=t.decimals??a0;return `${e.toFixed(o7(o))}\xB0`}s(t7,"formatAngleDeg");function o7(e){return Math.min(6,Math.max(0,Math.trunc(e)))}s(o7,"clampDecimals");function Ir(e){let t=e.startsWith("-"),o=t?e.slice(1):e,r=o.indexOf("."),n=r===-1?o:o.slice(0,r),i=r===-1?"":o.slice(r),a=n.replace(/\B(?=(\d{3})+(?!\d))/g," ");return `${t?"-":""}${a}${i}`}s(Ir,"groupThousands");var r2={distance:2,angle:3,path:2,trackDistance:2};function n2(e,t={}){let o=t.format??{};switch(e.kind){case "distance":{let[r,n]=e.points,i=r.positionMm,a=n.positionMm,l=e.axis??"free",c=Q5(i,a,l);return {id:e.id,kind:"distance",value:c,unit:"mm",text:G1(c,o),deltaMm:Rr(i,a)}}case "angle":{let[r,n,i]=e.points,a=$5(r.positionMm,n.positionMm,i.positionMm);return {id:e.id,kind:"angle",value:a,unit:"deg",text:t7(a,o)}}case "path":{let{segments:r,total:n}=D3(e.points.map(i=>i.positionMm),e.closed??false);return {id:e.id,kind:"path",value:n,unit:"mm",text:G1(n,o),segmentLengthsMm:r}}case "trackDistance":{let[r,n]=e.points,i=kr(r,n,t.resolveTrack);if(i===null){let a=o2(r.positionMm,n.positionMm);return {id:e.id,kind:"trackDistance",value:a,unit:"mm",text:G1(a,o),incomplete:true}}return {id:e.id,kind:"trackDistance",value:i,unit:"mm",text:G1(i,o)}}}}s(n2,"computeMeasurementResult");function kr(e,t,o){if(!o||!e.track||!t.track||e.track.processingUnitObjectId!==t.track.processingUnitObjectId||e.track.partObjectId!==t.track.partObjectId)return null;let r=o(e.track);return r?e7(e.track.partPositionMm,t.track.partPositionMm,r):null}s(kr,"resolveTrackDistance");var l0=class{static{s(this,"MeasurementStore");}measurements=new Map;annotations=new Map;listeners=new Set;tool="none";draft=null;measurementSeq=0;annotationSeq=0;version=0;subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t);}}emit(t){this.version++;for(let o of [...this.listeners])o(t);}listMeasurements(){return [...this.measurements.values()]}getMeasurement(t){return this.measurements.get(t)??null}addMeasurement(t){let o=this.materializeMeasurement(t);return this.measurements.set(o.id,o),this.emit({type:"measurements"}),o}updateMeasurement(t,o){let r=this.measurements.get(t);if(!r)return null;let n={...r,...o,id:t,kind:r.kind};return s7(n),this.measurements.set(t,n),this.emit({type:"measurements"}),n}removeMeasurement(t){let o=this.measurements.delete(t);return o&&this.emit({type:"measurements"}),o}clearMeasurements(){this.measurements.size!==0&&(this.measurements.clear(),this.emit({type:"measurements"}));}setMeasurements(t){let o=t.map(r=>this.materializeMeasurement(r));this.measurements.clear();for(let r of o)this.measurements.set(r.id,r);return this.emit({type:"measurements"}),o}listAnnotations(){return [...this.annotations.values()]}getAnnotation(t){return this.annotations.get(t)??null}addAnnotation(t){let o=this.materializeAnnotation(t);return this.annotations.set(o.id,o),this.emit({type:"annotations"}),this.emit({type:"annotation-created",annotation:o}),o}updateAnnotation(t,o){let r=this.annotations.get(t);if(!r)return null;let n={...r,...o,id:t};return this.annotations.set(t,n),this.emit({type:"annotations"}),n}removeAnnotation(t){let o=this.annotations.delete(t);return o&&this.emit({type:"annotations"}),o}clearAnnotations(){this.annotations.size!==0&&(this.annotations.clear(),this.emit({type:"annotations"}));}setAnnotations(t){let o=t.map(r=>this.materializeAnnotation(r));this.annotations.clear();for(let r of o)this.annotations.set(r.id,r);return this.emit({type:"annotations"}),o}getTool(){return this.tool}setTool(t){this.tool!==t&&(this.tool=t,this.draft=t==="none"?null:{tool:t,points:[],hover:null},this.emit({type:"tool"}),this.emit({type:"draft"}));}getDraft(){return this.draft}setHover(t){this.draft&&(wr(this.draft.hover,t)||(this.draft={...this.draft,hover:t},this.emit({type:"draft"})));}pushPoint(t){let o=this.draft;if(!o||o.tool==="annotation")return {status:"ignored"};let r=[...o.points,t],n=r2[o.tool];if(o.tool!=="path"&&r.length>=n){this.draft={...o,points:[],hover:t};let i=this.commit(o.tool,r);return this.emit({type:"draft"}),{status:"committed",measurement:i}}return this.draft={...o,points:r,hover:t},this.emit({type:"draft"}),{status:"collecting",draft:this.draft}}finish(){let t=this.draft;if(!t||t.tool==="annotation")return null;let o=t.points;if(o.length<r2[t.tool])return this.cancel(),null;this.draft={...t,points:[],hover:t.hover};let r=this.commit(t.tool,o);return this.emit({type:"draft"}),r}cancel(){this.draft&&(this.draft.points.length===0&&this.draft.hover===null||(this.draft={...this.draft,points:[],hover:null},this.emit({type:"draft"})));}toJSON(){return {schemaVersion:1,measurements:this.listMeasurements(),annotations:this.listAnnotations()}}fromJSON(t){this.setMeasurements(t.measurements??[]),this.setAnnotations(t.annotations??[]);}commit(t,o){let r=this.materializeMeasurement({kind:t,points:o});return this.measurements.set(r.id,r),this.emit({type:"measurements"}),this.emit({type:"measurement-created",measurement:r}),r}materializeMeasurement(t){let o=t.id??this.nextMeasurementId(),r={...t,id:o,points:[...t.points]};return s7(r),this.measurementSeq=Math.max(this.measurementSeq,i7(o,r7)),r}materializeAnnotation(t){let o=t.id??this.nextAnnotationId();return this.annotationSeq=Math.max(this.annotationSeq,i7(o,n7)),{...t,id:o}}nextMeasurementId(){let t;do t=`${r7}${++this.measurementSeq}`;while(this.measurements.has(t));return t}nextAnnotationId(){let t;do t=`${n7}${++this.annotationSeq}`;while(this.annotations.has(t));return t}},r7="m-",n7="a-";function i7(e,t){if(!e.startsWith(t))return 0;let o=Number(e.slice(t.length));return Number.isInteger(o)&&o>0?o:0}s(i7,"parseSeq");function s7(e){let t=r2[e.kind];if(e.points.length<t)throw new Error(`Measurement '${e.kind}' needs at least ${t} points, got ${e.points.length}.`);if(e.kind!=="path"&&e.points.length>t)throw new Error(`Measurement '${e.kind}' takes exactly ${t} points, got ${e.points.length}.`)}s(s7,"assertPointCount");function wr(e,t){return e===t?true:!e||!t?false:e.snap===t.snap&&e.positionMm[0]===t.positionMm[0]&&e.positionMm[1]===t.positionMm[1]&&e.positionMm[2]===t.positionMm[2]}s(wr,"samePoint");function L3(e,t){let o=[];for(let r of e.processingUnits){let n=A1(r,t);if(!(n&&n.visible===false))for(let i of r.parts){if(i.partTransformation?.visible===false)continue;let a;try{a=Z(i.modules);}catch{continue}o.push({processingUnitObjectId:r.objectId,partObjectId:i.objectId,partGlobalNumber:i.globalNumber,chain:a,matrix:F1(e.orientation,n,i.partTransformation),...r.positionFrame?{positionFrame:r.positionFrame}:{},closed:M1(a)});}}return o}s(L3,"buildTrackIndex");var c0=new three.Vector3;function h1(e,t){let o=t1(e.chain,t);return o?(c0.set(o.positionMm[0],o.positionMm[1],o.positionMm[2]).applyMatrix4(e.matrix),[c0.x,c0.y,c0.z]):null}s(h1,"worldPointOnPart");function G3(e,t,o={}){let r=o.partGlobalNumber!==void 0||o.processingUnitObjectId!==void 0,n=o.coarseStepMm??(r?50:150),i=null;for(let a of e){if(o.partGlobalNumber!==void 0&&a.partGlobalNumber!==o.partGlobalNumber||o.processingUnitObjectId!==void 0&&a.processingUnitObjectId!==o.processingUnitObjectId)continue;let l=a.chain.trackLengthMm;if(l<=0)continue;let c=Math.max(2,Math.ceil(l/n)),m=0,u=1/0;for(let g=0;g<=c;g++){let h=g/c*l,y=a7(a,h,t);y!==null&&y<u&&(u=y,m=h);}let p=l/c,d=20,f=m-p;for(let g=0;g<=d;g++){let h=_r(f+2*p*g/d,0,l),y=a7(a,h,t);y!==null&&y<u&&(u=y,m=h);}if(!Number.isFinite(u)||i!==null&&u>=i.distanceMm)continue;let M=h1(a,m);M&&(i={entry:a,chainPositionMm:m,partPositionMm:O1(m,a.positionFrame),positionMm:M,distanceMm:u});}return i&&o.maxDistanceMm!==void 0?i.distanceMm<=o.maxDistanceMm?i:null:i}s(G3,"nearestTrackPoint");function a7(e,t,o){let r=h1(e,t);return r?Math.hypot(r[0]-o[0],r[1]-o[1],r[2]-o[2]):null}s(a7,"distanceToPath");function l7(e){let t=[];for(let o of e.modules)t.push(o.startPositionInPartMm);return t.push(e.trackLengthMm),t}s(l7,"moduleBoundaryPositionsMm");function c7(e){return e.modules.map(t=>t.startPositionInPartMm+t.trackLengthMm/2)}s(c7,"moduleCenterPositionsMm");function m7(e,t){let o=[];for(let r of e.stations??[])if(r.isEnabled!==false&&r.partOids.includes(t.partGlobalNumber))for(let n of r.stopPositions??[])o.push({chainPositionMm:Y1(n,r,t.positionFrame),stationId:r.stationId});return o}s(m7,"stationStopPositionsMm");function H3(e,t,o,r=25){let n=e.chain.trackLengthMm,i=Math.abs(o-t);if(!(e.closed&&n>0&&n-i<i))return B3(e,t,o,r);let[l,c]=t<=o?[t,o]:[o,t];return [...B3(e,l,0,r),...B3(e,n,c,r)]}s(H3,"trackPolylineWorld");function B3(e,t,o,r){let n=Math.abs(o-t),i=Math.max(1,Math.ceil(n/Math.max(1,r))),a=[];for(let l=0;l<=i;l++){let c=t+(o-t)*l/i,m=h1(e,c);m&&a.push(m);}return a}s(B3,"samplePathWorld");function ne(e){return t=>{let o=e.find(r=>r.partObjectId===t.partObjectId&&r.processingUnitObjectId===t.processingUnitObjectId);return o?{trackLengthMm:o.chain.trackLengthMm,closed:o.closed}:null}}s(ne,"trackMetricsResolverFor");function ie(e,t,o,r,n){let i=e.processingUnits.find(u=>u.objectId===o.processingUnitObjectId);if(!i)return null;let a=i.movers.find(u=>u.index===o.moverIndex);if(!a)return null;let l=P2(i,a.partOid,n?.(a.id));if(!l)return null;let c=t.find(u=>u.processingUnitObjectId===i.objectId&&u.partGlobalNumber===l.globalNumber);if(!c)return null;let m=r?.(a.id)??a.partPositionMm;return h1(c,K(m,c.positionFrame))}s(ie,"moverAnchorWorld");function j3(e,t,o,r){let n=e.find(a=>a.processingUnitObjectId===t&&a.partObjectId===o);if(!n)return null;let i=n.chain.modules[r];return i?h1(n,i.startPositionInPartMm+i.trackLengthMm/2):null}s(j3,"moduleAnchorWorld");function N3(e,t){let o=e.find(r=>r.processingUnitObjectId===t.processingUnitObjectId&&r.partObjectId===t.partObjectId);return o?h1(o,K(t.partPositionMm,o.positionFrame)):null}s(N3,"trackAnchorWorld");function _r(e,t,o){return e<t?t:e>o?o:e}s(_r,"clamp");function u7({store:e,getTrackIndex:t,getFormat:o}){let r=s(a=>{let l={format:o(),resolveTrack:ne(t())};return a.map(c=>n2(c,l))},"evaluateAll"),n=s(a=>r([a])[0],"evaluate"),i=s(()=>{let a=e.listMeasurements();return {measurements:a,results:r(a),annotations:e.listAnnotations(),tool:e.getTool(),draft:e.getDraft()}},"snapshot");return {setTool:s(a=>e.setTool(a),"setTool"),getTool:s(()=>e.getTool(),"getTool"),getDraft:s(()=>e.getDraft(),"getDraft"),cancel:s(()=>e.cancel(),"cancel"),finish:s(()=>e.finish(),"finish"),add:s(a=>e.addMeasurement(a),"add"),update:s((a,l)=>e.updateMeasurement(a,l),"update"),remove:s(a=>e.removeMeasurement(a),"remove"),clear:s(()=>e.clearMeasurements(),"clear"),set:s(a=>e.setMeasurements(a),"set"),list:s(()=>e.listMeasurements(),"list"),get:s(a=>e.getMeasurement(a),"get"),results:s(()=>r(e.listMeasurements()),"results"),result:s(a=>{let l=e.getMeasurement(a);return l?n(l):null},"result"),addAnnotation:s(a=>e.addAnnotation(a),"addAnnotation"),updateAnnotation:s((a,l)=>e.updateAnnotation(a,l),"updateAnnotation"),removeAnnotation:s(a=>e.removeAnnotation(a),"removeAnnotation"),clearAnnotations:s(()=>e.clearAnnotations(),"clearAnnotations"),setAnnotations:s(a=>e.setAnnotations(a),"setAnnotations"),listAnnotations:s(()=>e.listAnnotations(),"listAnnotations"),measureBetween:s((a,l,c)=>n2({id:"ad-hoc",kind:"distance",axis:c?.axis??"free",points:[{positionMm:a},{positionMm:l}]},{format:o()}),"measureBetween"),subscribe:s(a=>e.subscribe(()=>a(i())),"subscribe"),snapshot:i,toJSON:s(()=>e.toJSON(),"toJSON"),fromJSON:s(a=>e.fromJSON(a),"fromJSON")}}s(u7,"createMeasurementApi");var v1={color:"#00E5FF",draftColor:"#FFC400",annotationColor:"#FFFFFF",lineWidthPx:2,labelSizeMm:40,pointSizeMm:18,decimals:a0,unitSuffix:w3,alwaysOnTop:true};function se(e){return {color:e?.color??v1.color,draftColor:e?.draftColor??v1.draftColor,annotationColor:e?.annotationColor??v1.annotationColor,lineWidthPx:e?.lineWidthPx??v1.lineWidthPx,labelSizeMm:e?.labelSizeMm??v1.labelSizeMm,pointSizeMm:e?.pointSizeMm??v1.pointSizeMm,decimals:e?.decimals??v1.decimals,unitSuffix:e?.unitSuffix??v1.unitSuffix,...e?.fontFamily?{fontFamily:e.fontFamily}:{},alwaysOnTop:e?.alwaysOnTop??v1.alwaysOnTop}}s(se,"resolveMeasurementStyle");function m0(e){return {decimals:e.decimals,unitSuffix:e.unitSuffix}}s(m0,"formatOptionsOf");function p7(e,t=false){let o=fiber.useThree(r=>r.setFrameloop);W5.useEffect(()=>{if(!e||typeof document>"u")return;let r=t?"demand":"always",n=s(()=>{o(document.hidden?"never":r);},"handler");return n(),document.addEventListener("visibilitychange",n),()=>{document.removeEventListener("visibilitychange",n),o(r);}},[e,t,o]);}s(p7,"useAutoPauseOnHidden");function d7(e,t){let o=fiber.useThree(r=>r.invalidate);W5.useEffect(()=>{if(!(!e||!t))return t.onWrite=o,()=>{t.onWrite=null;}},[e,t,o]);}s(d7,"useDemandRendering");function g7(e){let t=fiber.useThree(r=>r.gl),o=fiber.useThree(r=>r.controls);W5.useEffect(()=>{if(!e){t.shadowMap.autoUpdate=true;return}t.shadowMap.autoUpdate=false,t.shadowMap.needsUpdate=true;let r=s(()=>{t.shadowMap.needsUpdate=true;},"handleChange");return o?.addEventListener?.("change",r),()=>{o?.removeEventListener?.("change",r),t.shadowMap.autoUpdate=true;}},[e,t,o]);}s(g7,"useShadowAutoUpdate");var Yr=W5.lazy(()=>Promise.resolve().then(()=>(b7(),h7)).then(e=>({default:e.PostProcessingEffects}))),T7=s(e=>!e.ssao&&!e.bloom?null:jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(Yr,{...e})}),"ScenePostProcessing");function Qr(e=three.REVISION){return `https://cdn.jsdelivr.net/npm/three@0.${e}.0/examples/jsm/libs/basis/`}s(Qr,"buildTranscoderUrl");var C7=null;function x7(e){C7=e,le=null;}s(x7,"setKtx2TranscoderUrl");function $r(e){return e??C7??Qr()}s($r,"resolveTranscoderUrl");var le=null;function en(e){return le||(le=new threeStdlib.KTX2Loader,le.setTranscoderPath($r(e))),le}s(en,"getKtx2Loader");function p0(e,t={}){let o=typeof threeStdlib.MeshoptDecoder=="function"?threeStdlib.MeshoptDecoder():threeStdlib.MeshoptDecoder;if(e.setMeshoptDecoder(o),t.gl){let r=en(t.transcoderUrl);r.detectSupport(t.gl),e.setKTX2Loader(r);}return e}s(p0,"configureLoader");function X3(e){return t=>{p0(t,{gl:e});}}s(X3,"makeExtendLoader");var sn=["map","normalMap","roughnessMap","metalnessMap","aoMap","emissiveMap"],an={"housing-anodized-black":2,"type-plate-black":2,"stator-lamination":2,"housing-anodized-dark":2,"plastic-black-matte":1.6,"rubber-seal-black":1.6,"led-green":1.6,"led-red":1.6};function I1(e){let t=fiber.useThree(i=>i.gl),r=drei.useGLTF(e?[e]:[],true,true,X3(t))[0]??null,n=t.capabilities.getMaxAnisotropy();return W5.useMemo(()=>{if(!r)return null;let i=SkeletonUtils_js.clone(r.scene);return i.traverse(a=>{let l=a;if(!l.isMesh)return;l.castShadow=true,l.receiveShadow=true;let c=Array.isArray(l.material)?l.material:l.material?[l.material]:[];for(let m of c)V3(m,n);}),{...r,scene:i}},[r,n])}s(I1,"useGltfClone");function V3(e,t){for(let n of sn){let i=e[n];if(i&&i.isTexture){let a=i;a.anisotropy<t&&(a.anisotropy=t);}}let o=e;typeof o.envMapIntensity=="number"&&o.envMapIntensity===0&&(o.envMapIntensity=1);let r=e.userData?.xtsMaterial;if(typeof r=="string"){let n=an[r];n!==void 0&&(o.envMapIntensity??1)<n&&(o.envMapIntensity=n);}}s(V3,"applyMaterialPbrTuning");L1();var dn="#FFB000",fn="#E03030",gn=.45,A7=.2,v7=.65,Mn=1,hn=v7;function bn({selected:e,selectionColor:t,feedSegmentColor:o,highlightColor:r,driveStatus:n,showWarnings:i,showErrors:a}){return n?.error&&a!==false?{kind:"blink",color:fn}:n?.warning&&i!==false?{kind:"blink",color:dn}:e&&t?{kind:"selected",color:t}:o?{kind:"selected",color:o}:r?{kind:"selected",color:r}:{kind:"none"}}s(bn,"pickMode");function D2(e,t){let o=bn(t),r=d1(),n=o.kind==="none"?"none":`${o.kind}:${o.color}`,i=W5.useRef([]);W5.useEffect(()=>{if(!e||o.kind==="none")return;let a=new three.Color(o.color),l=[],c=[],m=s(u=>{let p=u.clone();if("emissive"in p){let d=p;d.emissive.copy(a),d.emissiveIntensity=gn,c.push(d);}return p},"cloneOne");return e.scene.traverse(u=>{let p=u;if(!p.isMesh||!p.material)return;let d=Array.isArray(p.material)?p.material.map(m):m(p.material);l.push({mesh:p,original:p.material,cloned:d}),p.material=d;}),i.current=c,()=>{for(let{mesh:u,original:p,cloned:d}of l)u.material=p,Array.isArray(d)?d.forEach(f=>f.dispose()):d.dispose();i.current=[];}},[e,n]),fiber.useFrame(({clock:a,invalidate:l})=>{if(o.kind!=="blink"||i.current.length===0)return;let c=a.getElapsedTime(),m=.5+.5*Math.sin(2*Math.PI*Mn*c),u=A7+(v7-A7)*m;for(let p of i.current)p.emissiveIntensity=u;l();}),W5.useLayoutEffect(()=>{if(r)return r.registerPrepare(()=>{if(o.kind!=="blink"||i.current.length===0)return;let a=i.current,l=a.map(c=>c.emissiveIntensity);for(let c of a)c.emissiveIntensity=hn;return ()=>{a.forEach((c,m)=>{c.emissiveIntensity=l[m];});}})},[r,o.kind]);}s(D2,"useGltfHighlight");var d0=W5__default.default.createContext(null);var Q=s(({pose:e,defaultPositionMm:t,name:o,userData:r,children:n})=>{let{positionMm:i,rotationRad:a,scale:l,visible:c}=C2(e,t);return jsxRuntime.jsx("group",{name:o||void 0,userData:r,position:i,rotation:[a[0],a[1],a[2],"XYZ"],scale:l,visible:c,children:n})},"PoseGroup");var vn=s(({glbUrl:e,positionMm:t=[0,0,0],rotationDegEuler:o=[0,0,0],scale:r=1,opacity:n=1,visible:i=true,placeholderSizeMm:a=[50,50,50],selected:l=false,selectionColor:c,onClick:m})=>{let u=I1(e??""),p=W5.useContext(d0);return D2(u,{selected:l||(p?.selected??false),selectionColor:c??p?.color??"#FFE090"}),W5.useEffect(()=>{if(!u||n>=1)return;let d=[],f=s(M=>{let g=M.clone();return g.transparent=true,g.opacity=n,g.depthWrite=false,g.needsUpdate=true,g},"cloneOne");return u.scene.traverse(M=>{let g=M;if(!g.isMesh||!g.material)return;let h=Array.isArray(g.material)?g.material.map(f):f(g.material);d.push({mesh:g,original:g.material,cloned:h}),g.material=h;}),()=>{for(let{mesh:M,original:g,cloned:h}of d)M.material=g,Array.isArray(h)?h.forEach(y=>y.dispose()):h.dispose();}},[u,n]),i?jsxRuntime.jsx(Q,{pose:{positionMm:t,rotationDegEuler:o,scaleUniform:r},children:jsxRuntime.jsx("group",{...m?{onClick:m}:{},children:u?jsxRuntime.jsx("primitive",{object:u.scene}):jsxRuntime.jsxs("mesh",{children:[jsxRuntime.jsx("boxGeometry",{args:a}),jsxRuntime.jsx("meshBasicMaterial",{color:"#88FF88",wireframe:true,transparent:true,opacity:.6})]})})}):null},"Inner"),j1=s(e=>jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(vn,{...e})}),"CustomAssetMesh");var S7=s(({assets:e,selection:t,selectionColor:o,onAssetClick:r,poseOverrides:n})=>jsxRuntime.jsx("group",{name:"xts-custom-assets-static",children:e.filter(i=>i.visible!==false&&i.binding.type==="static").map(i=>{let a=i.binding,l=n?.[i.id];return jsxRuntime.jsx(j1,{glbUrl:i.glbUrl,positionMm:l?.positionMm??a.positionMm,rotationDegEuler:l?.rotationDegEuler??a.rotationDegEuler,scale:l?.scaleUniform??a.scale??1,opacity:i.opacity,selected:t?He(t,{assetId:i.id}):false,selectionColor:o,...r?{onClick:s(c=>{c.stopPropagation(),r({assetId:i.id},c);},"onClick")}:{}},i.id)})}),"XtsCustomAssets");L1();var W3=new three.Quaternion,O7=new three.Quaternion;function On(e,t){let o=e.quaternion.clone();return t.getWorldQuaternion(W3),e.parent&&(e.parent.getWorldQuaternion(O7),W3.premultiply(O7.invert())),e.quaternion.copy(W3),e.updateMatrix(),e.updateMatrixWorld(true),()=>{e.quaternion.copy(o),e.updateMatrix(),e.updateMatrixWorld(true);}}s(On,"orientToCamera");function _2(e,t=true){let o=d1();W5.useLayoutEffect(()=>{if(!(!o||!t))return o.registerCameraDependent(r=>{let n=e.current;if(n)return On(n,r)})},[o,t,e]);}s(_2,"useCaptureBillboard");/*! Roboto Condensed is (c) Google, licensed under the Apache License,
|
|
5
|
+
Version 2.0 — https://www.apache.org/licenses/LICENSE-2.0 */var Z3="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";var I7="https://cdn.jsdelivr.net/npm/@fontsource/roboto-condensed@5.2.7/files/roboto-condensed-latin-400-normal.woff",In=8e3;function kn(e){if(typeof atob=="function"){let t=atob(e),o=new Uint8Array(t.length);for(let r=0;r<t.length;r++)o[r]=t.charCodeAt(r);return o}return new Uint8Array(Buffer.from(e,"base64"))}s(kn,"decodeBase64");var ce=null;function k7(){if(ce)return ce;try{let e=kn(Z3);ce=URL.createObjectURL(new Blob([e],{type:"font/woff"}));}catch{ce=`data:font/woff;base64,${Z3}`;}return ce}s(k7,"bundledLabelFontUrl");function wn(e){return !e||e===I7}s(wn,"isBundledLabelFont");var E7=new Map;function Dn(e){let t=E7.get(e);if(t)return t;let o=(async()=>{if(typeof fetch!="function")return "failed";let r=typeof AbortController=="function"?new AbortController:null,n=r?setTimeout(()=>r.abort(),In):null;try{let i=await fetch(e,{...r?{signal:r.signal}:{}});if(!i.ok)throw new Error(`status ${i.status}`);return await i.arrayBuffer(),"ok"}catch(i){return console.warn(`[XtsViewer3D] label font ${e} could not be loaded (${i?.message??i}) \u2014 falling back to the built-in Roboto Condensed. Labels still render.`),"failed"}finally{n&&clearTimeout(n);}})();return E7.set(e,o),o}s(Dn,"probeLabelFont");var K3=new Set;function F2(e){let t=wn(e)?null:e,[,o]=W5.useReducer(r=>r+1,0);return W5.useEffect(()=>{if(!t||K3.has(t))return;let r=true;return Dn(t).then(n=>{n==="ok"&&(K3.add(t),r&&o());}),()=>{r=false;}},[t]),t&&K3.has(t)?t:k7()}s(F2,"useLabelFontUrl");var P1=s(({positionMm:e,text:t,sizeMm:o=30,color:r="#88AAFF",liftMm:n,fontFamily:i,depthTest:a=true})=>{let l=n??o,c=F2(i),m=W5.useRef(null);return _2(m),jsxRuntime.jsx(drei.Billboard,{ref:m,position:[e[0],e[1],e[2]+l],follow:true,lockX:false,lockY:false,lockZ:false,children:jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{...a?{}:{renderOrder:999,"material-depthTest":false},fontSize:o,color:r,anchorX:"center",anchorY:"middle",outlineWidth:o*.012,outlineColor:"#000000",outlineOpacity:.5,font:c,children:t})})})},"DimensionLabel");var N1=s(({position:e,tangent:t,shape:o,sizeMm:r,color:n})=>{let i=W5.useMemo(()=>{let l=new three.Quaternion;return l.setFromUnitVectors(new three.Vector3(1,0,0),t.clone().normalize()),l},[t]);if(o==="None")return null;let a=r/2;switch(o){case "Diamond":return jsxRuntime.jsxs("mesh",{position:e,quaternion:i,children:[jsxRuntime.jsx("octahedronGeometry",{args:[a,0]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Tick":return jsxRuntime.jsxs("mesh",{position:e,quaternion:i,children:[jsxRuntime.jsx("boxGeometry",{args:[r*.4,r*1.5,r*.6]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Sphere":return jsxRuntime.jsxs("mesh",{position:e,children:[jsxRuntime.jsx("sphereGeometry",{args:[a,16,12]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Cube":return jsxRuntime.jsxs("mesh",{position:e,quaternion:i,children:[jsxRuntime.jsx("boxGeometry",{args:[r,r,r]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Cone":return jsxRuntime.jsxs("mesh",{position:e,rotation:[Math.PI/2,0,0],children:[jsxRuntime.jsx("coneGeometry",{args:[a,r,16]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});case "Cylinder":return jsxRuntime.jsxs("mesh",{position:e,rotation:[Math.PI/2,0,0],children:[jsxRuntime.jsx("cylinderGeometry",{args:[a*.6,a*.6,r,16]}),jsxRuntime.jsx("meshStandardMaterial",{color:n})]});default:return null}},"PathMarker");L1();var Kn=[0,0,250],Yn=new three.Vector3(1,0,0),qn=new three.Vector3(0,0,0),_7=s(({annotation:e,config:t,trackIndex:o,style:r})=>{let n=W5.useRef(null),i=W5.useContext(o1),a=d1(),c=e.anchor.kind==="mover",m=W5.useMemo(()=>w7(e,t,o,void 0),[e,t,o]),u=W5.useCallback(()=>{if(!c)return;let g=n.current;if(!g)return;let h=w7(e,t,o,y=>i?.get(y));h&&g.position.set(h[0],h[1],h[2]);},[e,t,o,c,i]);if(fiber.useFrame(u),W5.useLayoutEffect(()=>a?.registerTransform(u),[a,u]),!m)return null;let p=e.color??r.annotationColor,d=e.offsetMm??Kn,f=e.markerSizeMm??r.pointSizeMm,M=e.sizeMm??r.labelSizeMm;return jsxRuntime.jsxs("group",{ref:n,position:m,children:[jsxRuntime.jsx(N1,{position:qn,tangent:Yn,shape:e.markerShape??"Sphere",sizeMm:f,color:p}),jsxRuntime.jsx(drei.Line,{points:[[0,0,0],d],color:p,lineWidth:r.lineWidthPx,depthTest:!r.alwaysOnTop,transparent:r.alwaysOnTop,renderOrder:r.alwaysOnTop?998:0}),jsxRuntime.jsx(P1,{positionMm:d,text:e.text,sizeMm:M,color:p,liftMm:M*.7,depthTest:!r.alwaysOnTop,fontFamily:r.fontFamily||void 0})]})},"AnnotationView");function w7(e,t,o,r){let n=e.anchor;switch(n.kind){case "world":return n.positionMm;case "mover":return ie(t,o,n.ref,r);case "module":return j3(o,n.ref.processingUnitObjectId,n.ref.partObjectId,n.ref.moduleIndex);case "trackPosition":return N3(o,{processingUnitObjectId:n.processingUnitObjectId,partObjectId:n.partObjectId,partPositionMm:n.partPositionMm})}}s(w7,"resolveAnchorWorld");var f0="xts-pick-root",me="xtsTag",F7="xtsInstancedMovers",J3="xtsNoPick";function B7(e){return {[me]:{kind:"xpu",processingUnitObjectId:e}}}s(B7,"xpuTag");function Q3(e,t){return {[me]:{kind:"part",partObjectId:e,partGlobalNumber:t}}}s(Q3,"partTag");function L7(e){return {[me]:{kind:"module",moduleIndex:e}}}s(L7,"moduleTag");function G7(e,t){return {[me]:{kind:"mover",moverIndex:e,moverId:t}}}s(G7,"moverTag");function H7(e){return {[F7]:[...e]}}s(H7,"instancedMoversTag");function j7(e){for(let t=e;t;t=t.parent)if(t.userData?.[J3]===true)return true;return false}s(j7,"isPickBlocked");function $3(e,t){let o={};if(t!==void 0&&e){let n=e.userData?.[F7]?.[t];n&&(o.moverIndex=n.moverIndex,o.moverId=n.moverId);}for(let r=e;r;r=r.parent){let n=r.userData?.[me];n&&(o.processingUnitObjectId===void 0&&n.processingUnitObjectId!==void 0&&(o.processingUnitObjectId=n.processingUnitObjectId),o.partObjectId===void 0&&n.partObjectId!==void 0&&(o.partObjectId=n.partObjectId),o.partGlobalNumber===void 0&&n.partGlobalNumber!==void 0&&(o.partGlobalNumber=n.partGlobalNumber),o.moduleIndex===void 0&&n.moduleIndex!==void 0&&(o.moduleIndex=n.moduleIndex),o.moverIndex===void 0&&n.moverIndex!==void 0&&(o.moverIndex=n.moverIndex),o.moverId===void 0&&n.moverId!==void 0&&(o.moverId=n.moverId));}return o}s($3,"resolveSceneContext");function e6(e){return e.moverIndex!==void 0&&e.processingUnitObjectId!==void 0?{kind:"mover",ref:{processingUnitObjectId:e.processingUnitObjectId,moverIndex:e.moverIndex}}:e.moduleIndex!==void 0&&e.partObjectId!==void 0&&e.processingUnitObjectId!==void 0?{kind:"module",ref:{processingUnitObjectId:e.processingUnitObjectId,partObjectId:e.partObjectId,moduleIndex:e.moduleIndex}}:null}s(e6,"toEntityRef");function Qn(e,t){return e6($3(e,t))}s(Qn,"resolveEntityFromObject");var ei=s(({config:e,trackIndex:t,style:o})=>{let r=s0();q5(r);let n=W5.useMemo(()=>se(o),[o]),i=r?r.listMeasurements():[],a=r?r.listAnnotations():[],l=r?r.getDraft():null,c=W5.useMemo(()=>ne(t),[t]),m=W5.useMemo(()=>m0(n),[n]);return jsxRuntime.jsxs("group",{name:"xts-measurements",userData:{[J3]:true},children:[i.map(u=>u.visible===false?null:jsxRuntime.jsx(ti,{measurement:u,result:n2(u,{format:m,resolveTrack:c}),trackIndex:t,style:n},u.id)),l&&jsxRuntime.jsx(ri,{draft:l,style:n,trackIndex:t,format:m}),a.map(u=>u.visible===false?null:jsxRuntime.jsx(_7,{annotation:u,config:e,trackIndex:t,style:n},u.id))]})},"MeasurementOverlayImpl"),t6=W5__default.default.memo(ei);t6.displayName="MeasurementOverlay";var ti=s(({measurement:e,result:t,trackIndex:o,style:r})=>{let n=e.color??r.color,i=e.points.map(l=>l.positionMm),a=N7(e.label,ii(e,t));switch(e.kind){case "distance":{let[l,c]=e.points,m=l.positionMm,u=c.positionMm;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:[m,u],color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),e.showComponents&&jsxRuntime.jsx(ni,{a:m,b:u,color:n,style:r}),jsxRuntime.jsx(s2,{positionMm:re(e),text:a,color:n,style:r})]})}case "angle":{let[l,c,m]=e.points,u=l.positionMm,p=c.positionMm,d=m.positionMm,f=_3(u,p,d,F3(u,p,d));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:[u,p],color:n,style:r}),jsxRuntime.jsx(U1,{points:[p,d],color:n,style:r}),f.length>=2&&jsxRuntime.jsx(U1,{points:f,color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),jsxRuntime.jsx(s2,{positionMm:re(e),text:a,color:n,style:r})]})}case "path":{let l=i[0],c=e.closed&&l?[...i,l]:i,m=e.showSegmentLengths!==false;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:c,color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),m&&(t.segmentLengthsMm??[]).map((u,p)=>{let d=c[p],f=c[p+1];return !d||!f?null:jsxRuntime.jsx(s2,{positionMm:X7(d,f),text:G1(u,{decimals:r.decimals,unitSuffix:r.unitSuffix}),color:n,style:r,sizeMm:r.labelSizeMm*.75},`seg-${p}`)}),jsxRuntime.jsx(s2,{positionMm:i[i.length-1]??[0,0,0],text:N7(e.label,`\u03A3 ${t.text}`),color:n,style:r})]})}case "trackDistance":{let c=oi(e.points,o)??i;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U1,{points:c,color:n,style:r}),jsxRuntime.jsx(ue,{points:i,color:n,style:r}),jsxRuntime.jsx(s2,{positionMm:c[Math.floor(c.length/2)]??re(e),text:a,color:n,style:r})]})}}},"MeasurementView");function oi(e,t){let[o,r]=e;if(!o?.track||!r?.track||o.track.processingUnitObjectId!==r.track.processingUnitObjectId||o.track.partObjectId!==r.track.partObjectId)return null;let n=t.find(a=>a.processingUnitObjectId===o.track?.processingUnitObjectId&&a.partObjectId===o.track?.partObjectId);if(!n)return null;let i=H3(n,K(o.track.partPositionMm,n.positionFrame),K(r.track.partPositionMm,n.positionFrame));return i.length>=2?i:null}s(oi,"trackPolyline");var ri=s(({draft:e,style:t,trackIndex:o,format:r})=>{let n=t.draftColor,i=e.points.map(c=>c.positionMm),a=e.hover?[...i,e.hover.positionMm]:i,l=W5.useMemo(()=>{if(e.tool==="annotation"||!e.hover)return null;let c=[...e.points,e.hover];if(c.length<r2[e.tool])return null;let m=e.tool==="path"?c:c.slice(-r2[e.tool]);return n2({id:"draft",kind:e.tool,points:m},{format:r,resolveTrack:ne(o)})},[e,r,o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a.length>=2&&jsxRuntime.jsx(U1,{points:a,color:n,style:t,dashed:true}),jsxRuntime.jsx(ue,{points:i,color:n,style:t}),e.hover&&jsxRuntime.jsx(z7,{positionMm:e.hover.positionMm,color:n,style:t,sizeMm:e.hover.snap&&e.hover.snap!=="free"?t.pointSizeMm*1.6:t.pointSizeMm}),l&&e.hover&&jsxRuntime.jsx(s2,{positionMm:e.hover.positionMm,text:l.text,color:n,style:t})]})},"DraftView"),U1=s(({points:e,color:t,style:o,dashed:r=false})=>e.length<2?null:jsxRuntime.jsx(drei.Line,{points:e,color:t,lineWidth:o.lineWidthPx,dashed:r,...r?{dashSize:40,gapSize:24}:{},depthTest:!o.alwaysOnTop,transparent:o.alwaysOnTop,renderOrder:o.alwaysOnTop?998:0}),"MeasureLine"),z7=s(({positionMm:e,color:t,style:o,sizeMm:r})=>jsxRuntime.jsxs("mesh",{position:e,renderOrder:o.alwaysOnTop?999:0,raycast:()=>null,children:[jsxRuntime.jsx("sphereGeometry",{args:[(r??o.pointSizeMm)/2,16,12]}),jsxRuntime.jsx("meshBasicMaterial",{color:t,depthTest:!o.alwaysOnTop,transparent:o.alwaysOnTop})]}),"MeasurePoint"),ue=s(({points:e,color:t,style:o})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.map((r,n)=>jsxRuntime.jsx(z7,{positionMm:r,color:t,style:o},n))}),"Endpoints"),s2=s(({positionMm:e,text:t,color:o,style:r,sizeMm:n})=>{let i=n??r.labelSizeMm;return jsxRuntime.jsx(P1,{positionMm:e,text:t,sizeMm:i,color:o,liftMm:i*.7,depthTest:!r.alwaysOnTop,fontFamily:r.fontFamily||void 0})},"ValueLabel"),ni=s(({a:e,b:t,color:o,style:r})=>{let n=[t[0],e[1],e[2]],i=[t[0],t[1],e[2]];return jsxRuntime.jsx(jsxRuntime.Fragment,{children:[{from:e,to:n,axis:"X"},{from:n,to:i,axis:"Y"},{from:i,to:t,axis:"Z"}].map(({from:l,to:c,axis:m})=>{let u=Math.hypot(c[0]-l[0],c[1]-l[1],c[2]-l[2]);return u<1e-6?null:jsxRuntime.jsxs(W5__default.default.Fragment,{children:[jsxRuntime.jsx(U1,{points:[l,c],color:o,style:r,dashed:true}),jsxRuntime.jsx(s2,{positionMm:X7(l,c),text:`\u0394${m} ${G1(u,{decimals:r.decimals,unitSuffix:r.unitSuffix})}`,color:o,style:r,sizeMm:r.labelSizeMm*.7})]},m)})})},"ComponentGuides");function ii(e,t){if(e.kind==="distance"){let o=e.axis??"free";if(o!=="free")return `\u0394${o.toUpperCase()} ${t.text}`}return t.text}s(ii,"labelTextOf");function N7(e,t){return e?`${e}
|
|
6
|
+
${t}`:t}s(N7,"withCaption");function X7(e,t){return [(e[0]+t[0])/2,(e[1]+t[1])/2,(e[2]+t[2])/2]}s(X7,"midpoint");var y0=["vertex","edge-midpoint","mover-center","module-boundary","module-center","station-stop","track-path","face-center","grid"],T0=14;function r6(e,t,o,r={}){let n=r.kinds??y0,i=r.radiusPx??T0,a=null,l=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;for(let m of e){let u=n.indexOf(m.kind);if(u===-1||u>l)continue;let p=t(m.positionMm);if(!p)continue;let d=Math.hypot(p.x-o.x,p.y-o.y);d>i||(u<l||d<c)&&(a=m,l=u,c=d);}return a}s(r6,"chooseSnapCandidate");var M0=new three.Vector3,h0=new three.Vector3,b0=new three.Vector3,pe=new three.Matrix4,V7=new three.Matrix4;function n6(e,t){let o=e.face;if(!o)return [];let n=e.object.geometry?.attributes?.position;if(!n)return [];let i=n.count;if(o.a>=i||o.b>=i||o.c>=i)return [];pe.copy(e.object.matrixWorld);let a=e.object.instanceMatrix;e.instanceId!==void 0&&a&&(V7.fromArray(a.array,e.instanceId*16),pe.multiply(V7)),M0.fromBufferAttribute(n,o.a).applyMatrix4(pe),h0.fromBufferAttribute(n,o.b).applyMatrix4(pe),b0.fromBufferAttribute(n,o.c).applyMatrix4(pe);let l=[[M0.x,M0.y,M0.z],[h0.x,h0.y,h0.z],[b0.x,b0.y,b0.z]],c=s((f,M)=>t?{kind:f,positionMm:M,entity:t}:{kind:f,positionMm:M},"withEntity"),m=l.map(f=>c("vertex",f));for(let f=0;f<3;f++){let M=l[f],g=l[(f+1)%3];m.push(c("edge-midpoint",[(M[0]+g[0])/2,(M[1]+g[1])/2,(M[2]+g[2])/2]));}let[u,p,d]=l;return m.push(c("face-center",[(u[0]+p[0]+d[0])/3,(u[1]+p[1]+d[1])/3,(u[2]+p[2]+d[2])/3])),m}s(n6,"collectTriangleSnapCandidates");function i6(e,t){return t>0?[Math.round(e[0]/t)*t,Math.round(e[1]/t)*t,Math.round(e[2]/t)*t]:e}s(i6,"snapToGrid");var fi=4,gi=400,Mi=2e3,K7=s(({config:e,trackIndex:t,snap:o,groundPlaneZMm:r=0,annotationTextFactory:n})=>{let i=s0(),a=fiber.useThree(y=>y.gl),l=fiber.useThree(y=>y.camera),c=fiber.useThree(y=>y.scene),m=fiber.useThree(y=>y.size),u=fiber.useThree(y=>y.invalidate),p=W5.useContext(o1),d=J5(i),f=W5.useMemo(()=>new three.Raycaster,[]),M=W5.useRef(null),g=d!=="none",h=W5.useCallback((y,A)=>{let v=a.domElement.getBoundingClientRect();if(v.width===0||v.height===0)return null;let b={x:y-v.left,y:A-v.top},T=new three.Vector2(b.x/v.width*2-1,-(b.y/v.height)*2+1);f.setFromCamera(T,l);let x=bi(f,c),C=x?[x.point.x,x.point.y,x.point.z]:Ti(f,r);if(!C)return null;let S=$3(x?.object??null,x?.instanceId??void 0),R=e6(S),k=o?.enabled!==false,I=o?.kinds??y0,_=xi(t,C,S.partGlobalNumber,S.processingUnitObjectId),F={positionMm:C,snap:"free",...R?{entity:R}:{}};if(k){let D=[...x?n6({object:x.object,face:x.face,instanceId:x.instanceId??void 0},R??void 0):[],...vi({config:e,trackIndex:t,projection:_,context:S,entity:R,getLivePositionMm:s(O=>p?.get(O),"getLivePositionMm")})],L=r6(D,Ci(l,m.width,m.height),b,{kinds:I,radiusPx:o?.radiusPx??T0});if(L){let O=L.entity??R;F={positionMm:L.positionMm,snap:L.kind,...O?{entity:O}:{},...L.track?{track:L.track}:{}};}else I.includes("grid")&&(o?.gridMm??0)>0&&(F={...F,positionMm:i6(C,o?.gridMm??0),snap:"grid"});}return !F.track&&_&&Math.hypot(_.positionMm[0]-F.positionMm[0],_.positionMm[1]-F.positionMm[1],_.positionMm[2]-F.positionMm[2])<=gi&&(F={...F,track:Ai(_)}),F},[l,e,a,r,p,f,c,m.height,m.width,o,t]);return W5.useEffect(()=>{if(!i||!g)return;let y=a.domElement,A=s(R=>{i.setHover(h(R.clientX,R.clientY)),u();},"onPointerMove"),P=s(()=>{i.setHover(null),u();},"onPointerLeave"),v=s(R=>{M.current={x:R.clientX,y:R.clientY};},"onPointerDown"),b=s(R=>{let k=M.current;if(M.current=null,!k||Math.hypot(R.clientX-k.x,R.clientY-k.y)>fi)return;if(R.button===2){i.cancel(),u();return}if(R.button!==0)return;let I=h(R.clientX,R.clientY);if(I){if(i.getTool()==="annotation"){let _=n?n(I):"Annotation";_!==null&&i.addAnnotation({text:_,anchor:{kind:"world",positionMm:I.positionMm}});}else i.pushPoint(I);u();}},"onPointerUp"),T=s(()=>{i.finish(),u();},"onDoubleClick"),x=s(R=>{R.preventDefault();},"onContextMenu"),C=s(R=>{hi(R.target)||(R.key==="Escape"?(i.cancel(),u()):R.key==="Enter"&&(i.finish(),u()));},"onKeyDown");y.addEventListener("pointermove",A),y.addEventListener("pointerleave",P),y.addEventListener("pointerdown",v),y.addEventListener("pointerup",b),y.addEventListener("dblclick",T),y.addEventListener("contextmenu",x),window.addEventListener("keydown",C);let S=y.style.cursor;return y.style.cursor="crosshair",()=>{y.removeEventListener("pointermove",A),y.removeEventListener("pointerleave",P),y.removeEventListener("pointerdown",v),y.removeEventListener("pointerup",b),y.removeEventListener("dblclick",T),y.removeEventListener("contextmenu",x),window.removeEventListener("keydown",C),y.style.cursor=S,i.setHover(null);}},[n,a,u,h,i,g]),null},"MeasurementInteraction");function hi(e){let t=e;if(!t||typeof t.tagName!="string")return false;let o=t.tagName.toUpperCase();return o==="INPUT"||o==="TEXTAREA"||o==="SELECT"||t.isContentEditable===true}s(hi,"isEditableTarget");function bi(e,t){let o=t.getObjectByName(f0);if(!o)return null;for(let r of e.intersectObject(o,true))if(!j7(r.object))return r;return null}s(bi,"firstPickableHit");var Z7=new three.Plane,yi=new three.Vector3;function Ti(e,t){if(t===null)return null;Z7.set(new three.Vector3(0,0,1),-t);let o=e.ray.intersectPlane(Z7,yi);return o?[o.x,o.y,o.z]:null}s(Ti,"intersectGroundPlane");var C0=new three.Vector3;function Ci(e,t,o){return r=>(C0.set(r[0],r[1],r[2]).project(e),C0.z>1?null:{x:(C0.x*.5+.5)*t,y:(-C0.y*.5+.5)*o})}s(Ci,"makeProjector");function xi(e,t,o,r){return e.length===0?null:G3(e,t,{...o!==void 0?{partGlobalNumber:o}:{},...r!==void 0?{processingUnitObjectId:r}:{}})}s(xi,"projectOntoTrack");function Ai(e){return {processingUnitObjectId:e.entry.processingUnitObjectId,partObjectId:e.entry.partObjectId,partPositionMm:e.partPositionMm}}s(Ai,"trackAnchorOf");function vi(e){let{config:t,trackIndex:o,projection:r,context:n,entity:i}=e,a=[];if(i?.kind==="mover"){let u=ie(t,o,i.ref,e.getLivePositionMm);u&&a.push({kind:"mover-center",positionMm:u,entity:i});}if(!r)return a;let l=r.entry,c=s(u=>({processingUnitObjectId:l.processingUnitObjectId,partObjectId:l.partObjectId,partPositionMm:O1(u,l.positionFrame)}),"anchorFor"),m=s(u=>Math.abs(u-r.chainPositionMm)<=Mi,"near");a.push({kind:"track-path",positionMm:r.positionMm,track:c(r.chainPositionMm),...n.moduleIndex!==void 0&&i?{entity:i}:{}});for(let u of l7(l.chain)){if(!m(u))continue;let p=h1(l,u);p&&a.push({kind:"module-boundary",positionMm:p,track:c(u)});}for(let u of c7(l.chain)){if(!m(u))continue;let p=h1(l,u);p&&a.push({kind:"module-center",positionMm:p,track:c(u)});}for(let u of m7(t,l)){if(!m(u.chainPositionMm))continue;let p=h1(l,u.chainPositionMm);p&&a.push({kind:"station-stop",positionMm:p,entity:{kind:"station",stationId:u.stationId},track:c(u.chainPositionMm)});}return a}s(vi,"semanticCandidates");var q7=s(({intensity:e=.4})=>{let t=fiber.useThree(r=>r.gl),o=fiber.useThree(r=>r.scene);return W5.useEffect(()=>{let r=new three.PMREMGenerator(t);r.compileEquirectangularShader();let n=new RoomEnvironment_js.RoomEnvironment,i=r.fromScene(n,.04),a=i.texture,l=o.environment;o.environment=a;let c=o,m=c.environmentIntensity;return "environmentIntensity"in o&&(c.environmentIntensity=e),()=>{o.environment=l,"environmentIntensity"in o&&(c.environmentIntensity=m??1),r.dispose(),i.dispose();}},[t,o,e]),null},"SceneEnvironment");var Q7=s(({shadows:e,environmentLighting:t,environmentIntensity:o})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t&&jsxRuntime.jsx(q7,{intensity:o}),jsxRuntime.jsx("ambientLight",{intensity:t?.25:.6}),!t&&jsxRuntime.jsx("hemisphereLight",{color:"#cfdfee",groundColor:"#454c52",intensity:.35}),jsxRuntime.jsx("directionalLight",{position:[1500,1500,3e3],intensity:t?1.1:.8,castShadow:e,"shadow-mapSize-width":4096,"shadow-mapSize-height":4096,"shadow-radius":6,"shadow-blurSamples":16,"shadow-camera-near":500,"shadow-camera-far":8e3,"shadow-camera-left":-3500,"shadow-camera-right":3500,"shadow-camera-top":3500,"shadow-camera-bottom":-3500,"shadow-bias":-5e-4,"shadow-normalBias":1.5}),jsxRuntime.jsx("directionalLight",{position:[-1e3,-1e3,1500],intensity:t?.18:.3,color:"#dde7ff"}),e&&jsxRuntime.jsxs("mesh",{position:[0,0,-1],receiveShadow:true,renderOrder:-1,children:[jsxRuntime.jsx("planeGeometry",{args:[2e4,2e4]}),jsxRuntime.jsx("shadowMaterial",{transparent:true,opacity:.32})]})]}),"SceneLighting");var v0=[.62,.045,.045],a6=[.09,.22],l6=[.46,.045,.045],fe=.14,o4=[1.15,.028],r4=.28,P0=.12,n4=.08,t4=.08,Ei={x:[0,Math.PI/2,0],y:[Math.PI/2,0,0],z:[0,0,0]};function i4(e){if(e==="translate"){let[t]=v0,[,o]=a6;return [t4,t+o+P0]}return e==="scale"?[-t4,-0.67]:null}s(i4,"handleSpan");function s4(e,t=S1){let o=je(t);return e.flatMap(r=>o.map(({axis:n,color:i,rotation:a})=>({id:`${r}-${n}`,mode:r,axis:n,color:i,direction:[...Q2[n]],rotation:r==="rotate"?[...Ei[n]]:a})))}s(s4,"buildTransformHandles");var x0=1e-6;function m6(e,t,o){let r=new three.Vector3().subVectors(t,e.origin),n=o.dot(e.direction),i=1-n*n;if(Math.abs(i)<x0)return null;let a=o.dot(r),l=e.direction.dot(r);return (n*l-a)/i}s(m6,"closestPointOnAxis");function u6(e,t,o){let r=o.dot(e.direction);if(Math.abs(r)<x0)return null;let n=new three.Vector3().subVectors(t,e.origin).dot(o)/r;return n<=0?null:e.origin.clone().addScaledVector(e.direction,n)}s(u6,"intersectRayPlane");function a4(e,t,o){let r=t.clone().projectOnPlane(e),n=o.clone().projectOnPlane(e);if(r.lengthSq()<x0||n.lengthSq()<x0)return 0;r.normalize(),n.normalize();let i=new three.Vector3().crossVectors(r,n).dot(e),a=Math.min(Math.max(r.dot(n),-1),1);return Math.atan2(i,a)/j}s(a4,"signedAngleAround");function S0(e,t){return !t||t<=0?e:Math.round(e/t)*t}s(S0,"snapValue");function l4(e,t,o){let[r,n,i]=Q2[t],[a,l,c]=e.positionMm;return {...e,positionMm:[a+r*o,l+n*o,c+i*o]}}s(l4,"translatePose");function c4(e,t,o){let[r,n,i]=e.rotationDegEuler,a=new three.Quaternion().setFromEuler(new three.Euler(r*j,n*j,i*j,"XYZ")),l=new three.Quaternion().setFromAxisAngle(new three.Vector3(...Q2[t]),o*j),c=new three.Euler().setFromQuaternion(l.multiply(a),"XYZ");return {...e,rotationDegEuler:[c.x/j,c.y/j,c.z/j]}}s(c4,"rotatePose");function m4(e,t,o=.05){return {...e,scaleUniform:Math.max(o,e.scaleUniform*t)}}s(m4,"scalePose");function u4({sizePx:e,viewportHeightPx:t,perspective:o,orthographic:r}){return t<=0?1:o?2*Math.tan(o.fovDeg*j/2)*o.distanceMm/t*e:r?r.worldHeightMm/t*e:1}s(u4,"gizmoWorldScale");var Li=.001,p6=1e3,d6="xtsTransformHandleId",f4=s(({pose:e,handles:t,axisColors:o,sizePx:r,translateSnapMm:n,rotateSnapDeg:i,scaleSnap:a,minScale:l,onDragStart:c,onDrag:m,onDragEnd:u})=>{let p=W5.useRef(null),d=W5.useRef(null),f=W5.useRef(null),M=W5.useRef(new three.Raycaster),[g,h]=W5.useState(null),[y,A]=W5.useState(null),P=W5.useRef(null),v=W5.useRef({onDragStart:c,onDrag:m,onDragEnd:u});v.current={onDragStart:c,onDrag:m,onDragEnd:u};let b=W5.useRef(null),T=fiber.useThree(O=>O.camera),x=fiber.useThree(O=>O.gl),C=fiber.useThree(O=>O.invalidate),S=fiber.useThree(O=>O.size.height),R=fiber.useThree(O=>O.controls),k=W5.useMemo(()=>s4(t,o),[t,o]);fiber.useFrame(()=>{let O=d.current;if(!O)return;let B=O.getWorldPosition(new three.Vector3);O.scale.setScalar(u4({sizePx:r,viewportHeightPx:S,...T instanceof three.PerspectiveCamera?{perspective:{fovDeg:T.fov,distanceMm:T.position.distanceTo(B)}}:{},...T instanceof three.OrthographicCamera?{orthographic:{worldHeightMm:(T.top-T.bottom)/(T.zoom||1)}}:{}}));});let I=W5.useCallback(O=>{let B=x.domElement.getBoundingClientRect();if(B.width===0||B.height===0)return null;let N=M.current;return N.setFromCamera(new three.Vector2((O.clientX-B.left)/B.width*2-1,-((O.clientY-B.top)/B.height)*2+1),T),{origin:N.ray.origin.clone(),direction:N.ray.direction.clone().normalize()}},[T,x]),_=W5.useCallback(O=>{let B=I(O),N=d.current;if(!B||!N)return null;N.updateWorldMatrix(true,true);let E=M.current.intersectObject(N,true).map(w=>w.object.userData[d6]).flatMap(w=>k.filter(G=>G.id===w))[0];return E?{handle:E,ray:B}:null},[k,I]),F=W5.useCallback((O,B)=>{let N=O.handle.mode;if(N==="rotate"){let w=u6(B,O.pivotWorld,O.axisWorld);if(!w)return null;let G=w.sub(O.pivotWorld);return O.totalDeg+=a4(O.axisWorld,O.lastSpoke,G),O.lastSpoke=G,c4(O.startPose,O.handle.axis,S0(O.totalDeg,i))}let E=m6(B,O.pivotWorld,O.axisWorld);return E===null?null:N==="scale"?Math.abs(O.startAlongAxis)<Li?null:m4(O.startPose,S0(E/O.startAlongAxis,a),l):l4(O.startPose,O.handle.axis,S0(E-O.startAlongAxis,n))},[l,i,a,n]),D=W5.useCallback((O,B)=>{let N=p.current,E=d.current;if(!N||!E)return;N.updateWorldMatrix(true,false);let w=new three.Vector3(...O.direction).transformDirection(new three.Matrix4().extractRotation(N.matrixWorld)).normalize(),G=E.getWorldPosition(new three.Vector3),W=m6(B,G,w),V=O.mode==="rotate"?u6(B,G,w)?.sub(G):new three.Vector3;W===null||!V||(R&&!b.current&&(b.current={controls:R,wasEnabled:R.enabled},R.enabled=false),f.current={handle:O,startPose:e,pivotWorld:G,axisWorld:w,startAlongAxis:W,lastSpoke:V,totalDeg:0,latest:e},h(O.id),v.current.onDragStart());},[R,e]),L=W5.useCallback(()=>{let O=b.current;b.current=null,O&&(O.controls.enabled=O.wasEnabled);},[]);return W5.useEffect(()=>{let O=x.domElement,B=s(E=>{if(f.current||E.button!==0)return;let w=_(E);w&&(E.stopImmediatePropagation(),E.stopPropagation(),E.preventDefault(),D(w.handle,w.ray));},"onPointerDown"),N=s(E=>{if(f.current)return;let w=_(E)?.handle.id??null;P.current!==w&&(P.current=w,A(w),C());},"onPointerMove");return O.addEventListener("pointerdown",B,{capture:true}),O.addEventListener("pointermove",N),()=>{O.removeEventListener("pointerdown",B,{capture:true}),O.removeEventListener("pointermove",N);}},[D,x,C,_]),W5.useEffect(()=>{if(!g)return;let O=s(N=>{let E=f.current;if(!E)return;let w=I(N);if(!w)return;let G=F(E,w);G&&(E.latest=G,v.current.onDrag(G,E.handle.mode),C());},"move"),B=s(()=>{let N=f.current;f.current=null,L(),h(null),N&&v.current.onDragEnd(N.latest,N.handle.mode);},"finish");return window.addEventListener("pointermove",O),window.addEventListener("pointerup",B),window.addEventListener("pointercancel",B),()=>{window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",B),window.removeEventListener("pointercancel",B),L();}},[g,C,F,I,L]),jsxRuntime.jsx("group",{ref:p,children:jsxRuntime.jsx("group",{ref:d,position:e.positionMm,children:k.map(O=>jsxRuntime.jsx(Gi,{handle:O,active:g===O.id,dimmed:g!==null&&g!==O.id,hovered:y===O.id},O.id))})})},"TransformGizmo"),Gi=s(({handle:e,active:t,dimmed:o,hovered:r})=>{let i=t||r&&!o?Ne(e.color,r4):e.color,a=jsxRuntime.jsx("meshBasicMaterial",{color:i,depthTest:false,toneMapped:false,transparent:true,opacity:o?.35:1}),l=jsxRuntime.jsx("meshBasicMaterial",{visible:false});if(e.mode==="rotate"){let[g,h]=o4;return jsxRuntime.jsxs("group",{rotation:[...e.rotation],children:[jsxRuntime.jsxs("mesh",{renderOrder:p6,children:[jsxRuntime.jsx("torusGeometry",{args:[g,h,8,64]}),a]}),jsxRuntime.jsxs("mesh",{visible:false,userData:{[d6]:e.id},children:[jsxRuntime.jsx("torusGeometry",{args:[g,n4,6,48]}),l]})]})}let c=i4(e.mode),m=e.mode==="scale",[u]=m?l6:v0,[p,d]=a6,f=m?-1:1,M=m?-0.53:u+d/2;return jsxRuntime.jsxs("group",{rotation:[...e.rotation],children:[jsxRuntime.jsxs("mesh",{position:[f*u/2,0,0],renderOrder:p6,children:[jsxRuntime.jsx("boxGeometry",{args:m?[...l6]:[...v0]}),a]}),jsxRuntime.jsxs("mesh",{position:[M,0,0],rotation:[0,0,-Math.PI/2],renderOrder:p6,children:[m?jsxRuntime.jsx("boxGeometry",{args:[fe,fe,fe]}):jsxRuntime.jsx("coneGeometry",{args:[p,d,24]}),a]}),c&&jsxRuntime.jsxs("mesh",{visible:false,userData:{[d6]:e.id},position:[(c[0]+c[1])/2,0,0],rotation:[0,0,-Math.PI/2],children:[jsxRuntime.jsx("cylinderGeometry",{args:[P0,P0,Math.abs(c[1]-c[0]),8]}),l]})]})},"HandleMesh");var Wi=.28,Zi=42;function g4(e){let t=document.createElement("canvas");t.width=128,t.height=128;let o=t.getContext("2d");if(!o)return null;Z9(o,{size:128,...e});let r=new three.CanvasTexture(t);return r.colorSpace=three.SRGBColorSpace,r}s(g4,"createHeadTexture");var Ki=s(({head:e,labelColor:t,disabled:o})=>{let r=fiber.useThree(g=>g.gl),{tweenCamera:n}=drei.useGizmoContext(),[i,a]=W5.useState(false),[l,c]=W5.useMemo(()=>{let g=g4({color:e.color,filled:e.positive,label:e.positive?e.label:null,labelColor:t}),h=g4({color:e.positive?Ne(e.color,Wi):e.color,filled:true,label:e.label,labelColor:t});return [g,h]},[e.color,e.label,e.positive,t]);W5.useEffect(()=>()=>{l?.dispose(),c?.dispose();},[l,c]);let m=W5.useMemo(()=>new three.Vector3(...e.direction),[e.direction]),u=i?c:l;if(!u)return null;let M=o?{}:{onPointerOver:s(g=>{g.stopPropagation(),a(true);},"onOver"),onPointerOut:s(g=>{g.stopPropagation(),a(false);},"onOut"),onPointerDown:s(g=>{g.stopPropagation(),n(m);},"onDown")};return jsxRuntime.jsx("sprite",{position:m,scale:W9(e,i),...M,children:jsxRuntime.jsx("spriteMaterial",{map:u,"map-anisotropy":r.capabilities.getMaxAnisotropy()||1,transparent:true,alphaTest:.35,toneMapped:false})})},"AxisHead"),h4=s(({axisColors:e=S1,labels:t=J2,labelColor:o=z9,disabled:r=false})=>{let n=W5.useMemo(()=>V9(e,t),[e,t]),i=W5.useMemo(()=>je(e),[e]),[a]=i3;return jsxRuntime.jsxs("group",{scale:Zi,children:[i.map(l=>jsxRuntime.jsx("group",{rotation:[...l.rotation],children:jsxRuntime.jsxs("mesh",{position:[a/2,0,0],raycast:()=>null,children:[jsxRuntime.jsx("boxGeometry",{args:[...i3]}),jsxRuntime.jsx("meshBasicMaterial",{color:l.color,toneMapped:false})]})},l.axis)),n.map(l=>jsxRuntime.jsx(Ki,{head:l,labelColor:o,disabled:r},l.id))]})},"ViewportAxesGizmo");var he=Object.freeze(new three.Vector3(0,0,1)),u2=Object.freeze({forward:Object.freeze(["ArrowUp","KeyW"]),back:Object.freeze(["ArrowDown","KeyS"]),left:Object.freeze(["ArrowLeft","KeyA"]),right:Object.freeze(["ArrowRight","KeyD"]),up:Object.freeze(["PageUp","KeyE"]),down:Object.freeze(["PageDown","KeyQ"])}),Yi=new Set(Object.values(u2).flat());function b4(e){return Yi.has(e)}s(b4,"isNavigationCode");var qi={forward:0,right:0,up:0};function G2(e,t){return t.some(o=>e.has(o))?1:0}s(G2,"anyPressed");function Ji(e){return e.size===0?qi:{forward:G2(e,u2.forward)-G2(e,u2.back),right:G2(e,u2.right)-G2(e,u2.left),up:G2(e,u2.up)-G2(e,u2.down)}}s(Ji,"axesFromPressed");function Qi(e,t=he){let o=s(i=>new three.Vector3(i.x,i.y,i.z).addScaledVector(he,-i.dot(he)),"flatten"),r=o(e);r.lengthSq()<1e-12&&(r=o(t)),r.lengthSq()<1e-12&&(r=new three.Vector3(1,0,0)),r.normalize();let n=new three.Vector3().crossVectors(r,he).normalize();return {forward:r,right:n}}s(Qi,"navigationBasis");var $i=.6,es=150,ts=12e3,os=4,rs=.2,ns=.1;function y4(e){let t=Ji(e.pressed);if(t.forward===0&&t.right===0&&t.up===0)return null;let o=Math.min(Math.max(e.deltaSeconds,0),ns);if(o<=0)return null;let{forward:r,right:n}=Qi(new three.Vector3().subVectors(e.target,e.cameraPosition),e.cameraUp),i=new three.Vector3().addScaledVector(r,t.forward).addScaledVector(n,t.right).addScaledVector(he,t.up);if(i.lengthSq()<1e-12)return null;i.normalize();let l=Math.min(Math.max(e.cameraPosition.distanceTo(e.target),es),ts)*$i*Math.max(e.speed??1,0)*(e.boost?os:1)*(e.precise?rs:1);return i.multiplyScalar(l*o)}s(y4,"computeKeyboardMove");var C4=s(({enabled:e,speed:t=1})=>{let o=fiber.useThree(c=>c.gl),r=fiber.useThree(c=>c.camera),n=fiber.useThree(c=>c.invalidate),i=fiber.useThree(c=>c.controls),a=W5.useRef(new Set),l=W5.useRef({boost:false,precise:false});return W5.useEffect(()=>{if(!e){a.current.clear();return}let c=a.current,m=o.domElement,u=m.hasAttribute("tabindex");u||(m.tabIndex=0);let p=m.style.outline;m.style.outline="none";let d=s(h=>{l.current.boost=h.shiftKey,l.current.precise=h.altKey,b4(h.code)&&(h.preventDefault(),c.add(h.code),n());},"onKeyDown"),f=s(h=>{l.current.boost=h.shiftKey,l.current.precise=h.altKey,c.delete(h.code);},"onKeyUp"),M=s(()=>{c.clear(),l.current.boost=false,l.current.precise=false;},"onBlur"),g=s(()=>m.focus({preventScroll:true}),"onPointerDown");return m.addEventListener("keydown",d),m.addEventListener("keyup",f),m.addEventListener("blur",M),m.addEventListener("pointerdown",g),window.addEventListener("blur",M),()=>{m.removeEventListener("keydown",d),m.removeEventListener("keyup",f),m.removeEventListener("blur",M),m.removeEventListener("pointerdown",g),window.removeEventListener("blur",M),m.style.outline=p,u||m.removeAttribute("tabindex"),c.clear();}},[e,o,n]),fiber.useFrame((c,m)=>{if(!e||!i||a.current.size===0)return;let u=y4({pressed:a.current,cameraPosition:r.position,target:i.target,cameraUp:r.up,deltaSeconds:m,speed:t,boost:l.current.boost,precise:l.current.precise});u&&(r.position.add(u),i.target.add(u),i.update(),n());}),null},"KeyboardNavigation");function x4(e){return e?.name==="AbortError"}s(x4,"isAbortError");function as(e,t){if(e<=0||typeof AbortSignal?.timeout!="function")return t;let o=AbortSignal.timeout(e);return t?typeof AbortSignal.any!="function"?t:AbortSignal.any([t,o]):o}s(as,"resolveSignal");function I0(e,t={}){let o=t.timeoutMs??3e4,r=as(o,t.signal);return r?fetch(e,{signal:r}):fetch(e)}s(I0,"fetchWithTimeout");var k0=class{static{s(this,"AssetLoader");}cache=new Map;loader=new threeStdlib.GLTFLoader;timeoutMs=3e4;configure(t={}){t.timeoutMs!==void 0&&(this.timeoutMs=t.timeoutMs),p0(this.loader,t);}load(t){let o=this.cache.get(t);if(o)return o.promise;let r=new AbortController,n=this.fetchAndParse(t,r.signal).catch(i=>{throw this.cache.delete(t),i});return this.cache.set(t,{url:t,promise:n,controller:r}),n}async preload(t){return Promise.all(t.map(o=>this.load(o).catch(()=>null)))}cancel(t){let o=this.cache.get(t);o&&(o.controller?.abort(),this.cache.delete(t));}clear(){this.cache.clear();}has(t){return this.cache.has(t)}async fetchAndParse(t,o){let r;try{let n=await I0(t,{signal:o,timeoutMs:this.timeoutMs});if(!n.ok)throw new z("asset-load-failed",`Failed to fetch GLB at "${t}" (status ${n.status})`,{url:t,status:n.status});r=await n.arrayBuffer();}catch(n){throw n instanceof z||x4(n)?n:new z("asset-load-failed",`Network error while fetching GLB "${t}": ${n?.message}`,{url:t,cause:n})}return new Promise((n,i)=>{try{this.loader.parse(r,"",a=>n(a),a=>i(new z("asset-load-failed",`Failed to parse GLB "${t}": ${a?.message??a}`,{url:t,cause:a})));}catch(a){i(new z("asset-load-failed",`Threw while parsing GLB "${t}": ${a?.message}`,{url:t,cause:a}));}})}},g6;function h6(){return g6||(g6=new k0),g6}s(h6,"getSharedAssetLoader");function l1(e,t){return t?/^https?:\/\//.test(t)||t.startsWith("/")?t:`${e.endsWith("/")?e.slice(0,-1):e}/${t}`:""}s(l1,"composeAssetUrl");var g1=Object.freeze({translateMm:[0,0,0],rotationDegEuler:[0,0,0]});function A4(e){return Array.isArray(e)&&e.length===3&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}s(A4,"isVec3");function cs(e){if(typeof e!="object"||e===null)return false;let t=e;return A4(t.translateMm)&&A4(t.rotationDegEuler)}s(cs,"isOriginCorrection");function ms(e){if(typeof e!="object"||e===null||Array.isArray(e))return false;let t=e.originCorrection;return t===void 0||cs(t)}s(ms,"isSidecarLike");var be=class{constructor(t=3e4){this.timeoutMs=t;}timeoutMs;static{s(this,"SidecarLoader");}cache=new Map;clear(){this.cache.clear();}fetch(t){if(!t)return Promise.resolve(void 0);let o=this.cache.get(t);if(o)return o;let r=(async()=>{try{let n=await I0(t,{timeoutMs:this.timeoutMs});if(n.status===404)return;if(!n.ok)throw new Error(`Sidecar "${t}" failed with status ${n.status}`);let i=await n.json();if(!ms(i))throw new Error(`Sidecar "${t}" is malformed: expected an object with a numeric originCorrection {translateMm, rotationDegEuler}.`);return i}catch(n){throw this.cache.delete(t),n}})();return this.cache.set(t,r),r}};function b6(e){return e?.originCorrection??g1}s(b6,"resolveOriginCorrection");var us={AT2050_0500_180:"AT2050-0500.meta.json",ATH2050_0500_180:"ATH2050-0500.meta.json",ATH2051_0500_180:"ATH2051-0500.meta.json",ATH2052_0500_180:"ATH2052-0500.meta.json"};function y6(e){return us[e]??`${e.replace(/_/g,"-")}.meta.json`}s(y6,"moduleSidecarFilename");function T6(e){return `${e.replace(/_/g,"-")}.meta.json`}s(T6,"moverSidecarFilename");function C6(e){return `${e.replace(/_/g,"-")}.tool.meta.json`}s(C6,"toolSidecarFilename");function v4(e){return `${e.replace(/_/g,"-")}.plate.meta.json`}s(v4,"plateSidecarFilename");function x6(e){return `${e.replace(/_/g,"-")}.rail.meta.json`}s(x6,"railSidecarFilename");function A6(e,t){return e?t==="HepcoGfx"&&e.glbByRailSystem.HepcoGfx?e.glbByRailSystem.HepcoGfx:e.glbByRailSystem.Beckhoff??null:null}s(A6,"pickGlbForRail");var J=s(e=>({glbByRailSystem:{Beckhoff:e}}),"beckhoff"),r1=s((e,t)=>({glbByRailSystem:{Beckhoff:e,HepcoGfx:t}}),"dual"),P4=Object.freeze({AT2000_0250:J("AT2000-0250.glb"),AT2001_0250:J("AT2001-0250.glb"),AT2002_0250:J("AT2002-0250.glb"),AT2002_0249:J("AT2002-0249.glb"),AT2000_0233:J("AT2000-0233.glb"),AT2000_0249:J("AT2000-0249.glb"),AT2100_0250:J("AT2100-0250.glb"),AT2102_0250:J("AT2102-0250.glb"),AT2020_0250:J("AT2020-0250.glb"),AT2021_0250:J("AT2021-0250.glb"),AT2025_0250:J("AT2025-0250.glb"),AT2026_0250:J("AT2026-0250.glb"),AT2040_0250:J("AT2040-0250.glb"),AT2041_0250:J("AT2041-0250.glb"),AT2050_0500:J("AT2050-0500.glb"),AT2050_0501:J("AT2050-0500.glb"),AT2050_0500_180:J("AT2050-0500.glb"),AT2200_0500:J("AT2200-0500.glb"),AT2202_0500:J("AT2202-0500.glb"),ATH2000_0250:r1("ATH2000-0250.glb","ATH2000-0250-0002.glb"),ATH2001_0250:r1("ATH2001-0250.glb","ATH2001-0250-0002.glb"),ATH2002_0250:r1("ATH2002-0250.glb","ATH2002-0250-0002.glb"),ATH2020_0250:r1("ATH2020-0250.glb","ATH2020-0250-0002.glb"),ATH2040_0250:r1("ATH2040-0250.glb","ATH2040-0250-0002.glb"),ATH2041_0250:r1("ATH2041-0250.glb","ATH2041-0250-0002.glb"),ATH2042_0250:r1("ATH2042-0250.glb","ATH2042-0250-0002.glb"),ATH2050_0500:r1("ATH2050-0500.glb","ATH2050-0500-0002.glb"),ATH2050_0501:r1("ATH2050-0500.glb","ATH2050-0500-0002.glb"),ATH2050_0500_180:r1("ATH2050-0500.glb","ATH2050-0500-0002.glb"),ATH2051_0500:r1("ATH2051-0500.glb","ATH2051-0500-0002.glb"),ATH2051_0501:r1("ATH2051-0500.glb","ATH2051-0500-0002.glb"),ATH2051_0500_180:r1("ATH2051-0500.glb","ATH2051-0500-0002.glb"),ATH2052_0500:r1("ATH2052-0500.glb","ATH2052-0500-0002.glb"),ATH2052_0501:r1("ATH2052-0500.glb","ATH2052-0500-0002.glb"),ATH2052_0500_180:r1("ATH2052-0500.glb","ATH2052-0500-0002.glb")}),S4=Object.freeze({AT9014_0055:{glbUrl:"AT9014-0055-0550.glb"},AT9014_0070:{glbUrl:"AT9014-0070-0550.glb"},ATH9011_0075:{glbUrl:"ATH9011-0075-0550.glb"},Hepco_GFX2_1TC_S25:{glbUrl:"GFX2-1TC-S25.glb"},Hepco_GFX2_1TC_C25:{glbUrl:"GFX2-1TC-C25.glb"},Hepco_GFX2_1TC_C34:{glbUrl:"GFX2-1TC-C34.glb"},Hepco_GFX2_1TC_M34:{glbUrl:"GFX2-1TC-M34.glb"},Hepco_GFX_1TC_A20_AS:{glbUrl:"GFX-1TC-A20-AS.glb"},Hepco_GFX2_FCC_C25:{glbUrl:"GFX2-FCC-C25.glb"},Hepco_GFX2_FCC_M34:{glbUrl:"GFX2-FCC-M34.glb"},Hepco_GFX2_FCC_M34_7P:{glbUrl:"GFX2-FCC-M34-7P.glb"},Hepco_GFX2_FCC_M34_10P:{glbUrl:"GFX2-FCC-M34-10P.glb"},Hepco_GFX2_FCC_M40_10P:{glbUrl:"GFX2-FCC-M40-10P.glb"},Custom:{glbUrl:""}}),ps=Object.freeze({AT9001_0450:{glbUrl:"AT9001-0450.glb"},AT9001_0550:{glbUrl:"AT9001-0550.glb"},AT9001_0775:{glbUrl:"AT9001-0775.glb"},AT9001_0AA0:{glbUrl:"AT9001-0AA0.glb"},ATH9001_0550:{glbUrl:"ATH9001-0550.glb"},ATH9001_0550_0001:{glbUrl:"ATH9001-0550-0001.glb"},ATH9001_0AA0:{glbUrl:"ATH9001-0AA0.glb"}}),O4=Object.freeze({AT8200_1000_0100:{glbUrl:"AT8200-1000-0100.glb"},AT8200_2000_0100:{glbUrl:"AT8200-2000-0100.glb"},Custom:{glbUrl:""}}),R4=Object.freeze({AT9000_0249:{glbUrl:"AT9000-0249-rail.glb"},AT9000_0250:{glbUrl:"AT9000-0250-rail.glb"},AT9000_0500:{glbUrl:"AT9000-0500-rail.glb"},AT9020_1250:{glbUrl:"AT9020-1250-rail.glb"},AT9020_1250_0170:{glbUrl:"AT9020-1250-0170-rail.glb"},AT9025_1466:{glbUrl:"AT9025-1466-rail.glb"},AT9025_1466_0170:{glbUrl:"AT9025-1466-0170-rail.glb"},AT9040_0750:{glbUrl:"AT9040-0750-rail.glb"},AT9050_0500:{glbUrl:"AT9050-0500-rail.glb"},AT9050_0500_0170:{glbUrl:"AT9050-0500-0170-rail.glb"}}),E4=Object.freeze({AT2000_0250:"AT9000_0250",AT2001_0250:"AT9000_0250",AT2002_0250:"AT9000_0250",AT2002_0249:"AT9000_0249",AT2000_0233:"AT9000_0250",AT2000_0249:"AT9000_0249",AT2100_0250:"AT9000_0250",AT2102_0250:"AT9000_0250",AT2020_0250:"AT9020_1250",AT2021_0250:"AT9020_1250",AT2025_0250:"AT9025_1466",AT2026_0250:"AT9025_1466",AT2040_0250:"AT9040_0750",AT2041_0250:"AT9040_0750",AT2050_0500:"AT9050_0500",AT2050_0501:"AT9050_0500",AT2050_0500_180:"AT9050_0500",AT2200_0500:"AT9000_0500",AT2202_0500:"AT9000_0500",ATH2000_0250:null,ATH2001_0250:null,ATH2002_0250:null,ATH2020_0250:null,ATH2040_0250:null,ATH2041_0250:null,ATH2042_0250:null,ATH2050_0500:null,ATH2050_0501:null,ATH2050_0500_180:null,ATH2051_0500:null,ATH2051_0501:null,ATH2051_0500_180:null,ATH2052_0500:null,ATH2052_0501:null,ATH2052_0500_180:null}),v6=Object.freeze({AT9000_0249:1,AT9000_0250:1,AT9000_0500:1,AT9020_1250:5,AT9020_1250_0170:5,AT9025_1466:6,AT9025_1466_0170:6,AT9040_0750:2,AT9050_0500:1,AT9050_0500_0170:1});var ds=Object.freeze({AT9040_0750:250});function I4(e){return ds[e]??0}s(I4,"railLeadInMm");function P6(e,t,o){return A6(o?.[e]??P4[e],t)}s(P6,"resolveModuleGlbUrl");function w0(e,t,o){return (t?.[e]??o[e])?.glbUrl??""}s(w0,"glbUrlFrom");function ye(e,t){return w0(e,t,S4)}s(ye,"resolveMoverGlbUrl");function Te(e,t){return w0(e,t,ps)}s(Te,"resolvePlateGlbUrl");function S6(e,t){return w0(e,t,O4)}s(S6,"resolveToolGlbUrl");var fs=Object.freeze({AT9020_1250:"AT9020_1250_0170",AT9025_1466:"AT9025_1466_0170",AT9050_0500:"AT9050_0500_0170"});function j2(e,t){let o=E4[e]??null;return o?t==="AT9014_0070"?fs[o]??o:o:null}s(j2,"resolveGuidingRailType");function O6(e,t){return w0(e,t,R4)}s(O6,"resolveGuidingRailGlbUrl");var k4=1;function gs(e,t,o,r){if(o<=0)return [];let n=[],i=o;for(let a=t-1;a>=0;a--){let l=e[a];if(l.catalog.pathType!=="Straight")return [];let c=j2(l.moduleType,r);if(c&&(v6[c]??1)!==1)return [];if(n.push(a),i-=l.catalog.moduleLengthMm,i<=k4)break}return Math.abs(i)<=k4?n:[]}s(gs,"leadInModules");function w4(e,t){let o=new Set,r=0,n=null;return e.forEach((i,a)=>{let l=j2(i.moduleType,t);if(!l){n=null;return}if(l!==n&&(n=l,r=0),r===0){o.add(a);for(let c of gs(e,a,I4(l),t))o.delete(c);}r=(r+1)%(v6[l]??1);}),o}s(w4,"resolveRailMounts");var hs=Math.PI/180,q=Object.freeze({baseplateWidthMm:135,baseplateThicknessMm:30,baseplateTopZMm:-46.5,baseplateOuterExtentMm:16.65,baseplateSlotDepthMm:15,baseplateSlotLengthMm:104.78,baseplateSlotPitchMm:250,railWidthMm:44,railHeightMm:15.6,railTopZMm:-30.9,spearBaseHalfHeightMm:3.1,apexFlatHeightMm:.52,vFlankAngleDeg:35,railWingHeightMm:9.28,railWingInnerHalfWidthMm:15.88,topGrooveWidthMm:28.58,topGrooveDepthMm:.6,topGrooveFilletMm:.75,neckRoundCentreMm:[14.5,7.542],neckRoundRadiusMm:2.243,neckWaistCentreMm:[16.49,5.71],neckWaistRadiusMm:4.81,neckJunctionMm:[13.73,9.65],footOuterHalfWidthMm:13,footTopHeightMm:2.4,footChamferMm:.4,channelHalfWidthMm:4,channelHeightMm:3,bracketWidthMm:40,bracketHeightMm:73.8,bracketBaseHeightMm:33.8,bracketWallWidthMm:15,bracketOuterOffsetMm:61,stackYOffsetMm:-13,stackZOffsetMm:-9,spearProtrusionMm:5,undercutInsetMm:3});function R6(e){return e?Object.freeze({...q,...e}):q}s(R6,"resolveHepcoGfxProfile");var D4=8;function D0(e,t,o,r){let[n,i]=t,a=Math.hypot(o[0]-n,o[1]-i),l=Math.atan2(o[1]-i,o[0]-n),m=Math.atan2(r[1]-i,r[0]-n)-l;for(;m>Math.PI;)m-=2*Math.PI;for(;m<-Math.PI;)m+=2*Math.PI;for(let u=1;u<=D4;u++){let p=l+m*u/D4;e.push([n+a*Math.cos(p),i+a*Math.sin(p)]);}}s(D0,"arcTo");function bs(e){let t=e.topGrooveFilletMm,o=1-e.topGrooveDepthMm/(2*t);return 2*t*Math.sin(Math.acos(Math.min(1,Math.max(-1,o))))}s(bs,"grooveEdgeRun");function ys(e,t,o,r){let[n,i]=t,[a,l]=o,c=l<i?-1:1,m=[(n+a)/2,(i+l)/2];D0(e,[n,i+c*r],t,m),D0(e,[a,l-c*r],m,o);}s(ys,"sCurve");function _4(e=q){let t=e.railTopZMm-e.railHeightMm,o=e.railTopZMm,r=s(k=>t+k,"h"),n=e.railWidthMm/2,i=o-e.spearBaseHalfHeightMm,a=i+e.apexFlatHeightMm/2,l=i-e.apexFlatHeightMm/2,c=Math.tan(e.vFlankAngleDeg*hs),m=n-(o-a)/c,u=r(e.railWingHeightMm),p=n-(l-u)/c,d=e.topGrooveWidthMm/2,f=o-e.topGrooveDepthMm,M=e.railWingInnerHalfWidthMm,g=[e.neckRoundCentreMm[0],r(e.neckRoundCentreMm[1])],h=[e.neckWaistCentreMm[0],r(e.neckWaistCentreMm[1])],y=e.neckJunctionMm[0],A=r(e.neckJunctionMm[1]),P=e.footOuterHalfWidthMm,v=r(e.footTopHeightMm),b=e.footChamferMm,T=e.channelHalfWidthMm,x=r(e.channelHeightMm),C=[],S=d+bs(e);C.push([0,f]),C.push([d,f]),ys(C,[d,f],[S,o],e.topGrooveFilletMm),C.push([m,o]),C.push([n,a]),C.push([n,l]),C.push([p,u]),C.push([M,u]),D0(C,g,[M,u],[y,A]),D0(C,h,[y,A],[P,v]),C.push([P,r(b)]),C.push([P-b,r(0)]),C.push([T+b,r(0)]),C.push([T,r(b)]),C.push([T,x]),C.push([0,x]);let R=C.slice(1,-1).reverse().map(([k,I])=>[-k,I]);return [...C,...R]}s(_4,"buildHepcoGfxRailOutline");function F4(e=q,t=0){let o=e.baseplateOuterExtentMm,r=o-e.baseplateWidthMm+t,n=e.baseplateTopZMm,i=n-e.baseplateThicknessMm;return [[r,i],[o,i],[o,n],[r,n]]}s(F4,"buildHepcoGfxBaseplateOutline");function B4(e=q){let o=e.baseplateOuterExtentMm-e.baseplateWidthMm,r=o+e.baseplateSlotDepthMm,n=e.baseplateTopZMm,i=n-e.baseplateThicknessMm;return [[o,i],[r,i],[r,n],[o,n]]}s(B4,"buildHepcoGfxBaseplateBridgeOutline");function L4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWidthMm,r=t-e.bracketWallWidthMm,n=e.baseplateTopZMm,i=n+e.bracketBaseHeightMm,a=n+e.bracketHeightMm;return [[o,n],[t,n],[t,a],[r,a],[r,i],[o,i]]}s(L4,"buildHepcoGfxBracketOutline");function G4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWallWidthMm,r=e.baseplateTopZMm+e.bracketBaseHeightMm,n=e.baseplateTopZMm+e.bracketHeightMm;return [[o,r],[t,r],[t,n],[o,n]]}s(G4,"buildHepcoGfxBracketWallOutline");function H4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWidthMm,r=e.baseplateTopZMm+e.bracketBaseHeightMm,n=e.baseplateTopZMm+e.bracketHeightMm;return [[o,r],[t,r],[t,n],[o,n]]}s(H4,"buildHepcoGfxBracketEndBlockOutline");function j4(e=q){let t=-e.bracketOuterOffsetMm,o=t-e.bracketWidthMm,r=e.baseplateTopZMm,n=r+e.bracketBaseHeightMm;return [[o,r],[t,r],[t,n],[o,n]]}s(j4,"buildHepcoGfxBracketBaseOutline");function p2(e,t=q){let o=new three.Shape;return e.forEach(([r,n],i)=>{let a=-(n+t.stackZOffsetMm),l=r+t.stackYOffsetMm;i===0?o.moveTo(a,l):o.lineTo(a,l);}),o.closePath(),o}s(p2,"toShape");function E6(e=q,t=0){return p2(F4(e,t),e)}s(E6,"createHepcoGfxBaseplateShape");function I6(e=q){return p2(B4(e),e)}s(I6,"createHepcoGfxBaseplateBridgeShape");function k6(e=q){return p2(_4(e),e)}s(k6,"createHepcoGfxRailShape");function Ts(e=q){return p2(L4(e),e)}s(Ts,"createHepcoGfxBracketShape");function w6(e=q){return p2(j4(e),e)}s(w6,"createHepcoGfxBracketBaseShape");function D6(e=q){return p2(G4(e),e)}s(D6,"createHepcoGfxBracketWallShape");function _6(e=q){return p2(H4(e),e)}s(_6,"createHepcoGfxBracketEndBlockShape");var N4=250,Cs=9.7,z4=15,L6=8.5,xs=62.5,G6=18,F6=125,As=Object.freeze([Object.freeze({startMm:32.02,endMm:72.25}),Object.freeze({startMm:122.02,endMm:127.98}),Object.freeze({startMm:212.02,endMm:217.98})]),vs=Object.freeze([30,80]),Ps=30;function X4(e){return e.baseplateOuterExtentMm-e.baseplateWidthMm}s(X4,"plateCentreLateralMm");function V4(e,t,o=0){let r=[];if(t<=0)return r;for(let n=o;n<=e+1e-6;n+=t)n>=-1e-6&&r.push(n);return r}s(V4,"gridPoints");function W4(e,t){let o=[...t].map(i=>({startMm:Math.max(0,i.startMm),endMm:Math.min(e,i.endMm)})).filter(i=>i.endMm>i.startMm).sort((i,a)=>i.startMm-a.startMm),r=[],n=0;for(let i of o)i.startMm>n&&r.push({startMm:n,endMm:i.startMm}),n=Math.max(n,i.endMm);return n<e&&r.push({startMm:n,endMm:e}),r}s(W4,"invertSpans");function H6(e,t){let o=e.trackLengthMm,r=t.baseplateSlotLengthMm/2,n=V4(o,t.baseplateSlotPitchMm).map(i=>({startMm:i-r,endMm:i+r}));return W4(o,n)}s(H6,"hepcoGfxBaseplateBridgeSpans");function Ss(e){return e.bracketOuterOffsetMm+e.bracketWidthMm-e.stackYOffsetMm}s(Ss,"bracketInboardReachMm");var U4=new WeakMap;function Os(e){let t=U4.get(e);if(t!==void 0)return t;let o=1/0;if(e.endAngleDeg!==0){let n=[];for(let i=0;i<=128;i++){let a=u1(e,i/128*e.moduleLengthMm).positionMm;n.push([a[0],a[1]]);}for(let i=1;i<n.length-1;i++){let[a,l]=n[i-1],[c,m]=n[i],[u,p]=n[i+1],d=Math.hypot(c-a,m-l),f=Math.hypot(u-c,p-m),M=Math.hypot(a-u,l-p),g=(d+f+M)/2,h=Math.sqrt(Math.max(0,g*(g-d)*(g-f)*(g-M)));h>1e-9&&(o=Math.min(o,d*f*M/(4*h)));}}return U4.set(e,o),o}s(Os,"minPathRadiusMm");function B6(e,t){let{endAngleDeg:o}=e.catalog;if(o===0)return true;let r=Os(e.catalog);if(!Number.isFinite(r))return true;let n=Ss(t);return (o>0?r-n:r+n)>=t.bracketWidthMm}s(B6,"carriesBracket");function j6(e,t,o){let r=e.trackLengthMm,n=Cs,i=[],a=null;for(let p of e.modules)B6(p,o)?a===null&&(a=p.startPositionInPartMm):a!==null&&(i.push({startMm:a,endMm:p.startPositionInPartMm}),a=null);a!==null&&i.push({startMm:a,endMm:r});let l=e.modules[0],c=e.modules[e.modules.length-1],m=t&&l!==void 0&&c!==void 0&&B6(l,o)&&B6(c,o),u=[];for(let p of i){let d=!(m&&p.startMm<=1e-6),f=!(m&&p.endMm>=r-1e-6),M=p.startMm+(d?n:0),g=p.endMm-(f?n:0);g-M<2*z4||u.push({startMm:M,endMm:g,capStart:d,capEnd:f});}return u}s(j6,"hepcoGfxBracketRuns");function N6(e){let t=[];for(let r=0;r<=e.endMm+N4;r+=N4)for(let n of As)t.push({startMm:r+n.startMm,endMm:r+n.endMm});return W4(e.endMm-e.startMm,t.map(r=>({startMm:r.startMm-e.startMm,endMm:r.endMm-e.startMm}))).map(r=>({startMm:r.startMm+e.startMm,endMm:r.endMm+e.startMm}))}s(N6,"hepcoGfxBracketWallSpans");function U6(e){let t=z4,o=[];for(let r of e)r.endMm-r.startMm<2*t||(r.capStart&&o.push({startMm:r.startMm,endMm:r.startMm+t}),r.capEnd&&o.push({startMm:r.endMm-t,endMm:r.endMm}));return o}s(U6,"hepcoGfxBracketEndBlockSpans");function Z4(e,t,o){return e.filter(r=>r>=o&&r<=t-o)}s(Z4,"clearOfEnds");function z6(e,t){let o=X4(t),r=[],n=Z4(V4(e.trackLengthMm,xs),e.trackLengthMm,L6);for(let i of n)for(let a of vs)r.push({atMm:i,lateralMm:o+a});return r}s(z6,"hepcoGfxPlateBores");function X6(e,t){let o=X4(t)+Ps,r=[];for(let n of e){let i=[];for(let a=Math.ceil(n.startMm/F6)*F6;a<=n.endMm+1e-6;a+=F6)i.push(a);for(let a of Z4(i.map(l=>l-n.startMm),n.endMm-n.startMm,G6))r.push({atMm:a+n.startMm,lateralMm:o});}return r}s(X6,"hepcoGfxBracketBores");var J4=32,Q4=250/J4,ws=12;function Ds(e,t){let o=[];for(let r of e.modules)_s(o,r,t);return o}s(Ds,"samplePartLocalPoints");function _s(e,t,o){let r=t.startWorldPose.yawDeg*j,n=Math.cos(r),i=Math.sin(r),a=t.startWorldPose.positionMm[0],l=t.startWorldPose.positionMm[1],c=t.startWorldPose.positionMm[2],m=e.length===0?0:1;for(let u=m;u<=o;u++){let p=u/o*t.trackLengthMm,d=u1(t.catalog,p),f=d.positionMm[0],M=d.positionMm[1],g=d.positionMm[2],h=n*f-i*M+a,y=i*f+n*M+l,A=g+c;e.push(new three.Vector3(h,y,A));}}s(_s,"appendModuleSamples");function W6(e,t,o){let r=new three.ExtrudeGeometry(t,{steps:o,bevelEnabled:false,extrudePath:e});return r.computeVertexNormals(),r}s(W6,"extrudeShape");function Fs(e,t,o){let r=o.endMm-o.startMm;if(r<=1e-6||t<=0)return null;let n=Math.max(1,Math.ceil(r/Q4)),i=[];for(let a=0;a<=n;a++){let l=(o.startMm+r*a/n)/t;i.push(e.getPointAt(Math.min(1,Math.max(0,l))));}return new three.CatmullRomCurve3(i,false,"catmullrom")}s(Fs,"subCurve");function _0(e,t,o,r){let n=[];for(let a of o){let l=Fs(e,t,a);if(!l)continue;let c=Math.max(1,Math.ceil((a.endMm-a.startMm)/Q4));n.push(W6(l,r,c));}if(n.length===0)return null;let i=BufferGeometryUtils_js.mergeGeometries(n,false);for(let a of n)a.dispose();return i}s(_0,"extrudeSpans");function Bs(e){let{normals:t}=e.computeFrenetFrames(1,false),o=t[0]?.z??-1;return Math.abs(o)>.5?Math.sign(o):-1}s(Bs,"verticalSignOf");function K4(e,t,o,r,n){if(t<=0)return [];let i=Bs(e),a=new three.Vector3,l=new three.Vector3,c=[];for(let m of o){let u=Math.min(1,Math.max(0,m.atMm/t));e.getPointAt(u,a),e.getTangentAt(u,l);let p=l.y*i,d=-l.x*i,f=m.lateralMm+r.stackYOffsetMm;c.push(new three.Matrix4().makeTranslation(a.x+p*f,a.y+d*f,a.z+n+r.stackZOffsetMm));}return c}s(K4,"boreMatrices");function Y4(e,t){let o=new three.CylinderGeometry(e/2,e/2,t,ws,1,true);return o.rotateX(Math.PI/2),o}s(Y4,"boreGeometry");function $4(e,t){let o=Ds(e,J4);if(o.length<2)return null;let r=new three.CatmullRomCurve3(o,false,"catmullrom"),n=o.length-1,i=e.trackLengthMm,a=j6(e,M1(e),t),l=z6(e,t),c=X6(a,t);return {baseplate:W6(r,E6(t,t.baseplateSlotDepthMm),n),bridges:_0(r,i,H6(e,t),I6(t)),rail:W6(r,k6(t),n),bracketBase:_0(r,i,a,w6(t)),bracketWall:_0(r,i,a.flatMap(m=>N6(m)),D6(t)),bracketEndBlocks:_0(r,i,U6(a),_6(t)),plateBores:l.length>0?{geometry:Y4(L6,t.baseplateThicknessMm),matrices:K4(r,i,l,t,t.baseplateTopZMm-t.baseplateThicknessMm/2)}:null,bracketBores:c.length>0?{geometry:Y4(G6,t.bracketBaseHeightMm),matrices:K4(r,i,c,t,t.baseplateTopZMm+t.bracketBaseHeightMm/2)}:null}}s($4,"buildGuidewayGeometries");function e8(e){if(e)for(let t of [e.baseplate,e.bridges,e.rail,e.bracketBase,e.bracketWall,e.bracketEndBlocks,e.plateBores?.geometry??null,e.bracketBores?.geometry??null])t?.dispose();}s(e8,"disposeGuidewayGeometries");var t8=Object.freeze({name:"alu-extruded",color:"#9fa4a9",metalness:.85,roughness:.45}),o8=Object.freeze({name:"steel-rail-hardened",color:"#9aa0a4",metalness:1,roughness:.2}),Ce=Object.freeze({name:"alu-bore",color:"#4a4f54",metalness:.8,roughness:.7});var r8=s(({geometry:e,surface:t,color:o})=>jsxRuntime.jsx("mesh",{geometry:e,castShadow:true,receiveShadow:true,children:jsxRuntime.jsx("meshStandardMaterial",{color:o??t.color,metalness:t.metalness,roughness:t.roughness,userData:{xtsMaterial:t.name}})}),"GuidewayMesh"),n8=s(({batch:e})=>{let t=W5.useRef(null),{geometry:o,matrices:r}=e;return W5.useLayoutEffect(()=>{let n=t.current;n&&(r.forEach((i,a)=>n.setMatrixAt(a,i)),n.instanceMatrix.needsUpdate=true);},[r]),jsxRuntime.jsx("instancedMesh",{ref:t,args:[o,void 0,r.length],receiveShadow:true,children:jsxRuntime.jsx("meshStandardMaterial",{color:Ce.color,metalness:Ce.metalness,roughness:Ce.roughness,userData:{xtsMaterial:Ce.name}})})},"BoreBatch"),Us=s(({chain:e,profile:t=q,baseplateColor:o,railColor:r,bracketColor:n})=>{let i=W5.useMemo(()=>$4(e,t),[e,t]);if(W5.useEffect(()=>()=>e8(i),[i]),!i)return null;let a=[[i.baseplate,o],[i.bridges,o],[i.bracketBase,n],[i.bracketWall,n],[i.bracketEndBlocks,n]];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a.map(([l,c],m)=>l&&jsxRuntime.jsx(r8,{geometry:l,surface:t8,color:c},m)),jsxRuntime.jsx(r8,{geometry:i.rail,surface:o8,color:r}),i.plateBores&&jsxRuntime.jsx(n8,{batch:i.plateBores}),i.bracketBores&&jsxRuntime.jsx(n8,{batch:i.bracketBores})]})},"HepcoGfxRailImpl"),Z6=W5__default.default.memo(Us);Z6.displayName="HepcoGfxRail";var Ys="#FFA000",qs="#1a1a1a",Js="#E03030",Qs="#ffffff",F0=s(({kind:e,positionMm:t,sizeMm:o=45})=>{let r=W5.useMemo(()=>{if(e!=="warning")return null;let a=o/2,l=new three.Shape;return l.moveTo(0,a),l.lineTo(-a*.95,-a*.7),l.lineTo(a*.95,-a*.7),l.lineTo(0,a),l},[e,o]),n=W5.useRef(null);_2(n);let i=F2();return jsxRuntime.jsxs(drei.Billboard,{ref:n,position:t,follow:true,children:[e==="warning"&&r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("mesh",{renderOrder:9990,children:[jsxRuntime.jsx("shapeGeometry",{args:[r]}),jsxRuntime.jsx("meshBasicMaterial",{color:Ys,toneMapped:false,depthTest:false,transparent:true,opacity:.95})]}),jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{position:[0,-o*.05,.5],fontSize:o*.6,color:qs,anchorX:"center",anchorY:"middle",renderOrder:9991,font:i,depthOffset:-1,children:"!"})})]}),e==="error"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("mesh",{renderOrder:9990,children:[jsxRuntime.jsx("circleGeometry",{args:[o/2,32]}),jsxRuntime.jsx("meshBasicMaterial",{color:Js,toneMapped:false,depthTest:false,transparent:true,opacity:.95})]}),jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{position:[0,0,.5],fontSize:o*.7,color:Qs,anchorX:"center",anchorY:"middle",renderOrder:9991,font:i,depthOffset:-1,children:"!"})})]})]})},"DriveStatusIcon");var Y6=s(({bounds:e,sizeMm:t=10,color:o="#FF2030"})=>{let r=W5.useMemo(()=>ea(e),[e]),n=t/2;return jsxRuntime.jsx("group",{name:"module-corner-markers",children:r.map((i,a)=>jsxRuntime.jsxs("mesh",{position:i,renderOrder:9999,children:[jsxRuntime.jsx("sphereGeometry",{args:[n,12,12]}),jsxRuntime.jsx("meshBasicMaterial",{color:o,toneMapped:false,depthTest:false,transparent:true,opacity:.95})]},a))})},"ModuleCornerMarkers");function ea(e){let[t,o,r]=e.min,[n,i,a]=e.max;return [[t,o,r],[n,o,r],[t,i,r],[n,i,r],[t,o,a],[n,o,a],[t,i,a],[n,i,a]]}s(ea,"cornersOfAabb");var na=.25,ia=.08,sa=s((e,t,o)=>(t[0]-e[0])*(o[1]-e[1])-(t[1]-e[1])*(o[0]-e[0]),"cross2");function aa(e){let t=[...e].sort((n,i)=>n[0]-i[0]||n[1]-i[1]);if(t.length<3)return t;let o=s(n=>{let i=[];for(let a of n){for(;i.length>=2&&sa(i[i.length-2],i[i.length-1],a)<=0;)i.pop();i.push(a);}return i.pop(),i},"half"),r=[...o(t),...o([...t].reverse())];return r.length>=3?r:t}s(aa,"convexHull2D");function la(e){if(e.length===0)return null;let t=aa(e),o=null,r=s((n,i)=>{let a=1/0,l=-1/0,c=1/0,m=-1/0;for(let g of e){let h=g[0]*n+g[1]*i,y=-g[0]*i+g[1]*n;h<a&&(a=h),h>l&&(l=h),y<c&&(c=y),y>m&&(m=y);}let u=l-a,p=m-c;if(o&&u*p>=o.width*o.height-1e-9)return;let d=(a+l)/2,f=(c+m)/2,M={cx:d*n-f*i,cy:d*i+f*n,ux:n,uy:i,width:u,height:p};o=u>=p?M:{cx:M.cx,cy:M.cy,ux:-i,uy:n,width:p,height:u};},"consider");if(t.length<3)return r(1,0),o;for(let n=0;n<t.length;n++){let i=t[n],a=t[(n+1)%t.length],l=a[0]-i[0],c=a[1]-i[1],m=Math.hypot(l,c);m<1e-9||r(l/m,c/m);}return o}s(la,"minAreaRect");function c8(e,t,o,r=[]){if(e.length===0)return null;let[n,i,a]=o.rotationDegEuler,l=new three.Quaternion().setFromEuler(new three.Euler(n*j,i*j,a*j,"XYZ")),c=new three.Matrix4().makeRotationFromQuaternion(l).setPosition(new three.Vector3(...o.translateMm)),m=e.map(H=>H.clone().applyMatrix4(c)),u=new three.Box3().setFromPoints(m),p=t.clone().applyMatrix4(c).getCenter(new three.Vector3),d=u.getSize(new three.Vector3),f=s(H=>d.getComponent(H),"extent"),M=[0,1,2],g=M.reduce((H,X)=>f(X)<f(H)?X:H,0),h=Math.max(f(0),f(1),f(2));if(h===0||f(g)/h>ia)return null;let y=s((H,X)=>new three.Vector3(H===0?X:0,H===1?X:0,H===2?X:0),"unit"),A=u.getCenter(new three.Vector3),v=y(g,s(H=>A.getComponent(H)>=p.getComponent(H)?1:-1,"awayFromCentre")(g)),[b,T]=M.filter(H=>H!==g),x=y(b??0,1),C=y(T??1,1),S=la(m.map(H=>[H.dot(x),H.dot(C)]));if(!S||S.height===0)return null;let R=x.clone().multiplyScalar(S.ux).addScaledVector(C,S.uy),k=x.clone().multiplyScalar(-S.uy).addScaledVector(C,S.ux),I=x.clone().multiplyScalar(S.cx).addScaledVector(C,S.cy).addScaledVector(y(g,1),A.getComponent(g)),_=g===2,F=Math.abs(R.z)>=Math.abs(k.z),D=_?k.clone():(F?R:k).clone(),L=_||!F?S.width:S.height,O=_||!F?S.height:S.width,B=r.map(H=>H.clone().applyMatrix4(c));if(!_)D.z<0&&D.negate();else if(B.length>0){let H=new three.Vector3().crossVectors(D,v);B.reduce((w1,Y)=>w1+Y.clone().sub(I).dot(H),0)/B.length>0&&D.negate();}else D.dot(p.clone().sub(I))<0&&D.negate();let N=new three.Vector3().crossVectors(D,v),E=B.map(H=>{let X=H.clone().sub(I);return {u:X.dot(N)+L/2,v:X.dot(D)+O/2}}).sort((H,X)=>X.v-H.v),w=new three.Quaternion().setFromRotationMatrix(new three.Matrix4().makeBasis(N,D,v)),G=I.clone().addScaledVector(v,f(g)/2+na),W=new three.Matrix4().copy(c).invert();G.applyMatrix4(W);let V=l.clone().invert().multiply(w);return {position:[G.x,G.y,G.z],quaternion:[V.x,V.y,V.z,V.w],width:L,height:O,ledUv:E}}s(c8,"computeTypePlateFrame");function m8(e,t,o){let r=.06*t,n={ruleA:0,ruleB:0,maker:null,legend:null,ident:{u0:r,u1:e-r}};if(o===null)return n;let i=o-.11*t,a=o+.6*t,l=.4*t,c={u0:r,u1:i-r},m={u0:o+.09*t,u1:a-r},u={u0:a+r,u1:e-r};return u.u1-u.u0<l?n:{ruleA:i,ruleB:a,maker:c.u1-c.u0>=l?c:null,legend:m.u1-m.u0>=.25*t?m:null,ident:u}}s(m8,"computePlateColumns");var ca={AT2050_0500_180:"AT2050-0500",ATH2050_0500_180:"ATH2050-0500",ATH2051_0500_180:"ATH2051-0500",ATH2052_0500_180:"ATH2052-0500"};function u8(e){return ca[e]??e.replace(/_/g,"-")}s(u8,"typeDesignation");function p8(e){return `XTS Drive ${Math.round(e)}mm`}s(p8,"productLine");var ma="type-plate-black",ua=["led-green","led-red"],pa=.75;function da(e,t){let o=[...e].sort((i,a)=>i-a),r=[],n=[];for(let i of o){let a=n[n.length-1];a!==void 0&&i-a>t&&(r.push(n),n=[]),n.push(i);}return n.length&&r.push(n),r.map(i=>(i[0]+i[i.length-1])/2)}s(da,"clusterPositions");var fa=1.5;function d8(e,t){let o=[];return e.traverse(r=>{let n=r;if(!n.isMesh)return;let i=Array.isArray(n.material)?n.material:[n.material];for(let a of i){if(!a)continue;let l=a.userData?.xtsMaterial;if(typeof l=="string"&&t.includes(l)||t.includes(a.name)){o.push(n);return}}}),o}s(d8,"findMeshesByMaterial");function ga(e,t){return t.updateWorldMatrix(true,false),e.updateWorldMatrix(true,false),new three.Matrix4().copy(t.matrixWorld).invert().multiply(e.matrixWorld)}s(ga,"relativeMatrix");function g8(e,t){let o=e.geometry?.attributes?.position;if(!o)return [];let r=ga(e,t),n=[];for(let i=0;i<o.count;i++)n.push(new three.Vector3(o.getX(i),o.getY(i),o.getZ(i)).applyMatrix4(r));return n}s(g8,"localVertices");function f8(e,t){let o=new three.Box3,r=new three.Matrix4;return t.updateWorldMatrix(true,false),r.copy(t.matrixWorld).invert(),e.traverse(n=>{let i=n;if(!i.isMesh||!i.geometry||(i.updateWorldMatrix(true,false),i.geometry.boundingBox||i.geometry.computeBoundingBox(),!i.geometry.boundingBox))return;let a=new three.Matrix4().copy(r).multiply(i.matrixWorld);o.union(i.geometry.boundingBox.clone().applyMatrix4(a));}),o}s(f8,"localBounds");function Ma(e,t){let o=new three.Box3().setFromPoints(e).getSize(new three.Vector3),r=[0,1,2].reduce((i,a)=>o.getComponent(a)>o.getComponent(i)?a:i,0),n=new three.Vector3(r===0?1:0,r===1?1:0,r===2?1:0);for(let i=0;i<12;i++){let a=new three.Vector3;for(let l of e){let c=l.clone().sub(t);a.addScaledVector(c,c.dot(n));}if(a.lengthSq()===0)return n;n.copy(a.normalize());}return n}s(Ma,"columnDirection");function ha(e){if(e.length===0)return [];let t=e.reduce((i,a)=>i.add(a),new three.Vector3).divideScalar(e.length),o=Ma(e,t),r=da(e.map(i=>i.dot(o)),fa),n=r.map(()=>({v:new three.Vector3,n:0}));for(let i of e){let a=i.dot(o),l=0;for(let c=1;c<r.length;c++)Math.abs(a-r[c])<Math.abs(a-r[l])&&(l=c);n[l].v.add(i),n[l].n+=1;}return n.filter(i=>i.n>0).map(i=>i.v.divideScalar(i.n))}s(ha,"ledCentresOf");function ba(e,t,o){if(t.length===0)return null;let r=new three.Box3().setFromPoints(t),n=r.getSize(new three.Vector3),i=[0,1,2].reduce((m,u)=>n.getComponent(u)<n.getComponent(m)?u:m,0),a=r.getCenter(new three.Vector3).getComponent(i),l=s(m=>Math.abs(m.getComponent(i)-a)<=pa,"inPlane"),c=[];for(let m of e){let u=g8(m,o);if(u.length===0)continue;let p=m.geometry?.index,d=s(M=>u[p?p.getX(M):M],"at"),f=p?p.count:u.length;for(let M=0;M+2<f;M+=3){let g=d(M),h=d(M+1),y=d(M+2);!g||!h||!y||!l(g)||!l(h)||!l(y)||c.push(g,h,y);}}return c.length===0?null:c}s(ba,"plateFacePoints");function ya(e){let t=[];for(let o of [e.min.x,e.max.x])for(let r of [e.min.y,e.max.y])for(let n of [e.min.z,e.max.z])t.push(new three.Vector3(o,r,n));return t}s(ya,"boxCorners");function M8(e,t){let o=d8(e,[ma]);if(o.length===0)return null;let r=d8(e,ua).flatMap(i=>g8(i,e)),n=ba(o,r,e)??ya(o.reduce((i,a)=>i.union(f8(a,e)),new three.Box3));return c8(n,f8(e,e),t,ha(r))}s(M8,"resolvePlateFrame");var Q6=["ECAT Run","Link/Act","48V","24V"],h8="BECKHOFF",b8=["Automation GmbH & Co. KG","H\xFClshorstweg 20","33415 Verl / Germany","www.beckhoff.com","Made in Germany"],y8=1024,va="rgba(200, 206, 212, 0.55)",T8="rgba(170, 178, 186, 0.45)",$6="#f2f2f2",C8="#9aa0a6",x8=new Map;function Pa(e,t,o,r,n,i){let a=Math.min(i,r/2,n/2);if(typeof e.roundRect=="function"){e.beginPath(),e.roundRect(t,o,r,n,a);return}e.beginPath(),e.moveTo(t+a,o),e.arcTo(t+r,o,t+r,o+n,a),e.arcTo(t+r,o+n,t,o+n,a),e.arcTo(t,o+n,t,o,a),e.arcTo(t,o,t+r,o,a),e.closePath();}s(Pa,"roundRectPath");function Ae(e,t,o,r,n){for(let i=Math.round(r);i>4;i--)if(e.font=`${n} ${i}px "Helvetica Neue", Arial, sans-serif`,e.measureText(t).width<=o)return i;return 5}s(Ae,"fitFont");function Sa(e,t,o,r,n){let i=typeof document>"u"?null:document.createElement("canvas"),a=i?.getContext("2d");if(!i||!a)return null;let l=y8/e.width,c=Math.max(32,Math.round(e.height*l));i.width=y8,i.height=c,a.clearRect(0,0,i.width,c);let m=s(y=>y*l,"mm"),u=s(y=>c-m(y),"py");a.strokeStyle=va,a.lineWidth=Math.max(1.5,m(.14));let p=m(.5);if(Pa(a,p,p,i.width-2*p,c-2*p,m(e.height*.05)),a.stroke(),t.maker||t.legend){a.strokeStyle=T8,a.lineWidth=Math.max(1.5,m(.1));for(let y of [t.ruleA,t.ruleB])a.beginPath(),a.moveTo(m(y),u(e.height*.9)),a.lineTo(m(y),u(e.height*.1)),a.stroke();}if(a.textAlign="left",a.textBaseline="top",t.maker){let y=m(t.maker.u1-t.maker.u0),A=m(t.maker.u0),P=Ae(a,h8,y,m(e.height*.17),700);a.fillStyle=$6,a.font=`700 ${P}px "Helvetica Neue", Arial, sans-serif`,a.fillText(h8,A,m(e.height*.12));let v=b8.reduce((T,x)=>T.length>=x.length?T:x),b=Ae(a,v,y,m(e.height*.078),400);a.fillStyle=C8,b8.forEach((T,x)=>{let C=T==="Made in Germany"?700:400;a.font=`${C} ${b}px "Helvetica Neue", Arial, sans-serif`,a.fillText(T,A,m(e.height*.35)+x*b*1.25);});}if(t.legend&&e.ledUv.length===Q6.length){let y=m(t.legend.u1-t.legend.u0),A=m(t.legend.u0),P=Q6.reduce((b,T)=>b.length>=T.length?b:T),v=Ae(a,P,y,m(e.height*.1),400);a.fillStyle=$6,a.font=`400 ${v}px "Helvetica Neue", Arial, sans-serif`,a.textBaseline="middle",e.ledUv.forEach((b,T)=>{a.fillText(Q6[T],A,u(b.v));}),a.textBaseline="top";}let d=m(t.ident.u1-t.ident.u0),f=m(t.ident.u0);a.fillStyle=$6;let M=Ae(a,o,d,m(e.height*.165),600);a.font=`600 ${M}px "Helvetica Neue", Arial, sans-serif`,a.fillText(o,f,m(e.height*.14)),a.fillStyle=C8;let g=Ae(a,r,d,m(e.height*.105),400);a.font=`400 ${g}px "Helvetica Neue", Arial, sans-serif`,a.fillText(r,f,m(e.height*.14)+M*1.2),a.strokeStyle=T8,a.lineWidth=Math.max(1.5,m(.1)),a.beginPath(),a.moveTo(f,u(e.height*.5)),a.lineTo(f+d,u(e.height*.5)),a.stroke();let h=new three.CanvasTexture(i);return h.colorSpace=three.SRGBColorSpace,h.generateMipmaps=true,h.minFilter=three.LinearMipmapLinearFilter,h.magFilter=three.LinearFilter,h.anisotropy=n,h.needsUpdate=true,h}s(Sa,"paintTypePlate");function A8(e){return e.reduce((t,o)=>t+o.u,0)/e.length}s(A8,"averageU");function v8(e,t,o,r,n){let i=[o,r,e.width.toFixed(2),e.height.toFixed(2),t.ruleA.toFixed(2),t.ruleB.toFixed(2),e.ledUv.map(c=>c.v.toFixed(2)).join("/"),n].join("|"),a=x8.get(i);if(a)return a;let l=Sa(e,t,o,r,n);return l&&x8.set(i,l),l}s(v8,"getTypePlateTexture");var S8=s(({scene:e,moduleType:t,moduleLengthMm:o,originCorrection:r})=>{let n=W5.useMemo(()=>M8(e,r),[e,r]),i=W5.useMemo(()=>n?m8(n.width,n.height,n.ledUv.length?A8(n.ledUv):null):null,[n]),a=fiber.useThree(c=>c.gl.capabilities.getMaxAnisotropy()),l=W5.useMemo(()=>n&&i?v8(n,i,u8(t),p8(o),a):null,[n,i,t,o,a]);return !n||!l?null:jsxRuntime.jsxs("mesh",{position:n.position,quaternion:n.quaternion,renderOrder:1,castShadow:false,receiveShadow:false,children:[jsxRuntime.jsx("planeGeometry",{args:[n.width,n.height]}),jsxRuntime.jsx("meshStandardMaterial",{map:l,transparent:true,depthWrite:false,roughness:.6,metalness:0})]})},"ModuleTypePlate");var t9={module:{filename:y6,builtin:s(e=>ee[e],"builtin")},mover:{filename:s(e=>e==="Custom"?null:T6(e),"filename"),builtin:s(e=>e==="Custom"?void 0:f3[e],"builtin")},tool:{filename:s(e=>e==="Custom"?null:C6(e),"filename"),builtin:s(e=>e==="Custom"?void 0:g3[e],"builtin")},plate:{filename:v4,builtin:s(e=>u5[e],"builtin")},rail:{filename:x6,builtin:s(e=>M3[e],"builtin")}};var ka=new be;function c1(e,t,o){let{useBuiltins:r}=I3(),n=t9[e],i=r?n.builtin(t):void 0,[a,l]=W5.useState(i);return W5.useEffect(()=>{if(i){l(i);return}let c=n.filename(t);if(!c){l(void 0);return}let m=true;return ka.fetch(l1(o,c)).then(u=>{m&&l(u);}).catch(()=>{m&&l(void 0);}),()=>{m=false;}},[n,t,o,i]),{sidecar:a,correction:b6(a)}}s(c1,"useSidecar");var Ba=s(({module:e,glbUrl:t,originCorrection:o,assetsBaseUrl:r="/models",noSidecar:n=false,selected:i=false,selectionColor:a="#FFE090",feedSegmentColor:l,highlightColor:c,moduleGlobalNumber:m,driveStatus:u,showWarnings:p=true,showErrors:d=true,showCornerMarkers:f=false,showTypePlate:M=true,cornerMarkerSizeMm:g=10,cornerMarkerColor:h="#FF2030",guidingRail:y,guidingRailCorrection:A,userData:P,onClick:v})=>{let b=W5.useContext(t0),x=W5.useSyncExternalStore(W5.useMemo(()=>F=>!b||m===void 0?()=>{}:b.subscribe(m,F),[b,m]),()=>b&&m!==void 0?b.get(m):void 0,()=>{})??u,C=W5.useMemo(()=>J1(e.startWorldPose),[e.startWorldPose]),S=c1("module",n?"AT2000_0250":e.moduleType,r),R=o??(n?g1:S.correction),k=I1(t??""),I=e.catalog.moduleLengthMm;D2(k,{selected:i,selectionColor:a,feedSegmentColor:l,highlightColor:c,driveStatus:x,showWarnings:p,showErrors:d});let _=x?.error&&d!==false?"error":x?.warning&&p!==false?"warning":null;return jsxRuntime.jsxs("group",{matrixAutoUpdate:false,matrix:C,userData:P,onClick:v,onPointerDown:F=>{v&&F.stopPropagation();},children:[!t||!k?jsxRuntime.jsx(R8,{moduleLengthMm:I}):jsxRuntime.jsx(La,{gltf:k,originCorrection:R,typePlate:M?{moduleType:e.moduleType,moduleLengthMm:I}:null,cornerMarkers:f&&S.sidecar?.approximateBoundsMm?{bounds:S.sidecar.approximateBoundsMm,sizeMm:g,color:h}:null}),y&&jsxRuntime.jsx(Ga,{railType:y.railType,glbUrl:y.glbUrl,assetsBaseUrl:r,correctionOverride:A}),_&&jsxRuntime.jsx(F0,{kind:_,positionMm:[I/2,-48,130]})]})},"XtsModuleContent"),o9=W5__default.default.memo(e=>jsxRuntime.jsx(W5.Suspense,{fallback:jsxRuntime.jsx("group",{matrixAutoUpdate:false,matrix:J1(e.module.startWorldPose),children:jsxRuntime.jsx(R8,{moduleLengthMm:e.module.catalog.moduleLengthMm})}),children:jsxRuntime.jsx(Ba,{...e})}));o9.displayName="XtsModule";var R8=s(({moduleLengthMm:e})=>jsxRuntime.jsxs("mesh",{position:[e/2,-48,50],children:[jsxRuntime.jsx("boxGeometry",{args:[e,96,100]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#FFB000",wireframe:true})]}),"PlaceholderMesh"),La=s(({gltf:e,originCorrection:t,typePlate:o,cornerMarkers:r})=>jsxRuntime.jsxs(Q,{pose:{positionMm:t.translateMm,rotationDegEuler:t.rotationDegEuler},children:[jsxRuntime.jsx("primitive",{object:e.scene}),o&&jsxRuntime.jsx(S8,{scene:e.scene,moduleType:o.moduleType,moduleLengthMm:o.moduleLengthMm,originCorrection:t}),r&&jsxRuntime.jsx(Y6,{bounds:r.bounds,sizeMm:r.sizeMm,color:r.color})]}),"ModuleGltfGroup"),Ga=s(({railType:e,glbUrl:t,assetsBaseUrl:o,correctionOverride:r})=>{let n=c1("rail",e,o),i=I1(t),a=r??n.correction;return i?jsxRuntime.jsx(Q,{pose:{positionMm:a.translateMm,rotationDegEuler:a.rotationDegEuler},children:jsxRuntime.jsx("primitive",{object:i.scene})}):null},"GuidingRailGltfGroup");L1();var za=[0,0,55],Xa=15,Va="#000000",Wa="#FFFFFF",i9=s(({text:e,options:t})=>{let o=t?.fontSizeMm??Xa,r=t?.color??Va,n=t?.offsetMm??za,i=F2(t?.fontUrl),a=t?.outlineWidthMm??0,l=t?.outlineColor??Wa,c=W5.useRef(null);return _2(c),jsxRuntime.jsx(drei.Billboard,{ref:c,position:[n[0],n[1],n[2]],follow:true,lockX:false,lockY:false,lockZ:false,children:jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(drei.Text,{fontSize:o,color:r,anchorX:"center",anchorY:"middle",font:i,...a>0?{outlineWidth:a,outlineColor:l}:{},children:e})})})},"MoverIdLabel");var Ja=s(({chain:e,partPositionMm:t,moverId:o,glbUrl:r,originCorrection:n,moverType:i="AT9014_0055",assetsBaseUrl:a="/models",pathLengthMm:l=70,heightMm:c=125,selected:m=false,selectionColor:u="#FFE090",driveStatus:p,showWarnings:d=true,showErrors:f=true,showMoverId:M=false,moverIdLabelOptions:g,showAnchorMarker:h=false,anchorMarkerSizeMm:y=10,anchorMarkerColor:A="#FF2030",userData:P,onClick:v,positionFrame:b,children:T})=>{let x=W5.useContext(o1),C=d1(),S=W5.useRef(null),R=W5.useRef({chain:e,partPositionMm:t,moverId:o,positionFrame:b});W5.useLayoutEffect(()=>{R.current={chain:e,partPositionMm:t,moverId:o,positionFrame:b};});let k=W5.useCallback(()=>{let L=S.current;if(!L)return;let O=R.current,B=O.moverId!==void 0&&x?x.getOr(O.moverId,O.partPositionMm):O.partPositionMm,N=K(B,O.positionFrame),E=t1(O.chain,N);E&&(L.position.set(E.positionMm[0],E.positionMm[1],E.positionMm[2]),L.rotation.set(0,0,E.yawDeg*Math.PI/180));},[x]);fiber.useFrame(k),W5.useLayoutEffect(()=>C?.registerTransform(k),[C,k]);let I=c1("mover",i,a),_=n??I.correction??g1,F=I1(r??"");D2(F,{selected:m,selectionColor:u,driveStatus:p,showWarnings:d,showErrors:f});let D=p?.error&&f!==false?"error":p?.warning&&d!==false?"warning":null;return jsxRuntime.jsxs("group",{ref:S,userData:P,onClick:v,onPointerDown:L=>{v&&L.stopPropagation();},children:[!r||!F?jsxRuntime.jsxs("mesh",{position:[0,0,50],children:[jsxRuntime.jsx("boxGeometry",{args:[l,50,c]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#3D88E0",wireframe:true})]}):jsxRuntime.jsx(Q,{pose:{positionMm:_.translateMm,rotationDegEuler:_.rotationDegEuler},children:jsxRuntime.jsx("primitive",{object:F.scene})}),h&&jsxRuntime.jsxs("group",{children:[jsxRuntime.jsxs("mesh",{renderOrder:999,children:[jsxRuntime.jsx("sphereGeometry",{args:[y/2,16,12]}),jsxRuntime.jsx("meshBasicMaterial",{color:A,depthTest:false,transparent:true})]}),jsxRuntime.jsxs("mesh",{renderOrder:999,children:[jsxRuntime.jsx("boxGeometry",{args:[y*.15,y*.15,y*20]}),jsxRuntime.jsx("meshBasicMaterial",{color:A,depthTest:false,transparent:true})]})]}),D&&jsxRuntime.jsx(F0,{kind:D,positionMm:[0,0,c+20]}),M&&o!==void 0&&jsxRuntime.jsx(i9,{text:String(o),options:g}),jsxRuntime.jsx(d0.Provider,{value:{selected:m,color:u},children:T})]})},"XtsMoverContent"),k8=s(e=>jsxRuntime.jsx(W5.Suspense,{fallback:jsxRuntime.jsx("group",{children:jsxRuntime.jsxs("mesh",{children:[jsxRuntime.jsx("boxGeometry",{args:[70,50,125]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#3D88E0",wireframe:true})]})}),children:jsxRuntime.jsx(Ja,{...e})}),"XtsMover");var w8=s(({moverId:e,tools:t,assetsBaseUrl:o,assetManifest:r,toolOverrides:n})=>{let i=W5.useContext(r0),a=W5.useSyncExternalStore(W5.useMemo(()=>l=>i?i.subscribe(e,l):()=>{},[i,e]),()=>i?.get(e),()=>{});return jsxRuntime.jsx("group",{name:"xts-mover-tools",children:t.map((l,c)=>jsxRuntime.jsx(tl,{tool:l,assetsBaseUrl:o,assetManifest:r,override:l.toolType!=="Custom"?n?.[l.toolType]:void 0,liveVisible:l.id!==void 0?a?.get(l.id)?.visible:void 0},l.id??`${l.toolType}-${c}`))})},"XtsMoverTools"),tl=s(({tool:e,assetsBaseUrl:t,assetManifest:o,override:r,liveVisible:n})=>{let i=e.toolType==="Custom"?e.customGlbUrl??"":l1(t,S6(e.toolType,o?.tools)),a=e.offsetMm??[0,0,30],l=c1("tool",e.toolType!=="Custom"?e.toolType:"AT8200_1000_0100",t),c=r??(e.toolType==="Custom"?e.customOriginCorrection??g1:l.correction);return jsxRuntime.jsx(Q,{pose:{positionMm:a,rotationDegEuler:e.rotationDegEuler},children:jsxRuntime.jsx(j1,{glbUrl:i,positionMm:c.translateMm,rotationDegEuler:c.rotationDegEuler,opacity:e.opacity??1,visible:n??e.visible!==false,placeholderSizeMm:[120,60,40]})})},"ToolInstance");var _8=s(({plateType:e,moverType:t,assetsBaseUrl:o,assetManifest:r,override:n})=>{let i=l1(o,Te(e,r?.magnetPlates)),a=c1("plate",e,o),l=De(n??a.correction,t);return jsxRuntime.jsx("group",{name:"xts-mover-plate",children:jsxRuntime.jsx(j1,{glbUrl:i,positionMm:l.translateMm,rotationDegEuler:l.rotationDegEuler,placeholderSizeMm:[50,60,45]})})},"XtsMoverPlate");var s1=s(({partTransformation:e,name:t,userData:o,children:r})=>jsxRuntime.jsx(Q,{pose:e?{positionMm:e.offsetMm,rotationDegEuler:e.rotationDegEuler,visible:e.visible}:null,name:t,userData:o,children:r}),"PartTransformGroup");L1();var G0=new three.Object3D,H8=new three.Color,s9=s(({glbUrl:e,movers:t,originCorrection:o,selectionColor:r="#90E0FF",defaultColor:n="#ffffff",onMoverClick:i})=>{let a=fiber.useThree(C=>C.gl),l=drei.useGLTF(e,true,true,X3(a)),c=W5.useRef(null),m=W5.useContext(o1),u=d1(),p=a.capabilities.getMaxAnisotropy(),d=o??g1,[f,M,g]=d.translateMm,[h,y,A]=d.rotationDegEuler,{geometry:P,material:v}=W5.useMemo(()=>{let C=SkeletonUtils_js.clone(l.scene);C.updateMatrixWorld(true);let S=null,R=null;if(C.traverse(k=>{let I=k;I.isMesh&&!S&&(S=I.geometry.clone(),S.applyMatrix4(I.matrixWorld),S.applyMatrix4(new three.Matrix4().makeRotationFromEuler(new three.Euler(h*j,y*j,A*j,"XYZ")).setPosition(f,M,g)),R=I.material);}),R){let k=Array.isArray(R)?R:[R];for(let I of k)V3(I,p);}return {geometry:S,material:R}},[l,p,f,M,g,h,y,A]);W5.useEffect(()=>()=>{P?.dispose();},[P]);let b=t.length;W5.useEffect(()=>{let C=c.current;C&&(C.instanceMatrix.setUsage(three.DynamicDrawUsage),C.instanceColor&&C.instanceColor.setUsage(three.DynamicDrawUsage),C.castShadow=true,C.receiveShadow=true);},[b]);let T=W5.useRef({movers:t,selectionColor:r,defaultColor:n});W5.useLayoutEffect(()=>{T.current={movers:t,selectionColor:r,defaultColor:n};});let x=W5.useCallback(()=>{let C=c.current;if(!C)return;let S=T.current,R=false;for(let k=0;k<S.movers.length;k++){let I=S.movers[k],_=m?.getOr(I.moverId,I.partPositionMm)??I.partPositionMm,F=K(_,I.positionFrame),D=t1(I.chain,F);D&&(G0.position.set(D.positionMm[0],D.positionMm[1],D.positionMm[2]),G0.rotation.set(0,0,D.yawDeg*Math.PI/180),G0.updateMatrix(),C.setMatrixAt(k,G0.matrix),H8.set(I.selected?S.selectionColor:S.defaultColor),C.setColorAt(k,H8),R=true);}R&&(C.instanceMatrix.needsUpdate=true,C.instanceColor&&(C.instanceColor.needsUpdate=true),C.computeBoundingSphere());},[m]);return fiber.useFrame(x),W5.useLayoutEffect(()=>u?.registerTransform(x),[u,x]),!P||!v||b===0?null:jsxRuntime.jsx("instancedMesh",{ref:c,args:[P,v,b],frustumCulled:false,onClick:i?C=>{let S=C.instanceId===void 0?void 0:t[C.instanceId];S&&i(S.moverIndex,C);}:void 0,onPointerDown:i?C=>{C.stopPropagation();}:void 0,userData:H7(t.map(C=>({moverIndex:C.moverIndex,moverId:C.moverId})))})},"InstancedMoverBatch");var hl=s(()=>()=>{},"NO_STORE_SUBSCRIBE");function j8(){let e=W5.useContext(o1);return W5.useSyncExternalStore(e?t=>e.subscribePartAssignment(t):hl,()=>e?.partAssignmentVersion??0,()=>0),t=>e?.getPartObjectId(t)}s(j8,"useMoverPartAssignments");function a9(e){return e.enabled&&!!e.moverGlbUrl&&e.moverCount>=4&&!e.showAnchorMarker&&!e.showMoverIds}s(a9,"isInstancingActive");function bl(e,t){if((e.tools?.length??0)>0||e.status?.error&&t.showDriveErrors||e.status?.warning&&t.showDriveWarnings)return true;for(let o of t.customAssets??[])if(o.visible!==false&&(o.binding.type==="all-movers"||o.binding.type==="mover"&&o.binding.moverRef.processingUnitObjectId===t.processingUnitObjectId&&o.binding.moverRef.moverIndex===e.index))return true;return false}s(bl,"moverNeedsOwnNode");function N8(e){return a9(e)?t=>!bl(t,e):()=>false}s(N8,"createInstancedMoverPredicate");var Tl=s(({xpu:e,assetsBaseUrl:t,assetManifest:o,display:r,selection:n,selectionColors:i,onModuleClick:a,onMoverClick:l,moduleHighlights:c,feedSegmentHighlights:m,sidecarOverrides:u,customAssets:p,hepcoGfxProfile:d,chains:f,instancing:M=false})=>{let g=W5.useMemo(()=>R6(d),[d]),h=j8(),y=s((E,w)=>P2(e,E,h(w)),"partForMover"),A=W5.useMemo(()=>{if(!c||c.length===0)return null;let E=new Map;for(let w of c)for(let G of w.moduleTypes)E.has(G)||E.set(G,w.color);return E},[c]),P=W5.useMemo(()=>{if(!m||m.length===0)return null;let E=Je(e,f),w=C5(E,m);return w.size>0?w:null},[m,e,f]),v=e.railSystem??"Beckhoff",b=W5.useMemo(()=>{let E=new Map;if(v!=="Beckhoff")return E;for(let w of e.parts){let G=f.get(w.globalNumber);G&&E.set(w.globalNumber,w4(G.modules,e.moverType));}return E},[v,e.parts,e.moverType,f]),T=b2(e.moverType),x=c1("mover",e.moverType,t),C=u?.movers?.[e.moverType]??x.correction,S=l1(t,ye(e.moverType,o?.movers)),R=W0(e.moverType,e.magnetPlateType),k=c1("plate",R??"AT9001_0550",t),I=R?De(u?.magnetPlates?.[R]??k.correction,e.moverType):void 0,_=R?l1(t,Te(R,o?.magnetPlates)):"",{showDriveWarnings:F,showDriveErrors:D}=r,L={enabled:M,moverGlbUrl:S,moverCount:e.movers.length,showAnchorMarker:r.showMoverAnchorMarker,showMoverIds:r.showMoverIds,showDriveWarnings:F,showDriveErrors:D,processingUnitObjectId:e.objectId,customAssets:p},O=a9(L),B=W5.useMemo(()=>N8(L),[M,S,e.movers.length,e.objectId,r?.showMoverAnchorMarker,r?.showMoverIds,F,D,p]),N=e.movers.filter(B).map(E=>({moverId:E.id,moverIndex:E.index,partPositionMm:E.partPositionMm,chain:f.get(y(E.partOid,E.id)?.globalNumber??E.partOid),selected:n?Ge(n,{processingUnitObjectId:e.objectId,moverIndex:E.index}):false,positionFrame:e.positionFrame})).filter(E=>E.chain!==void 0);return jsxRuntime.jsxs("group",{name:`xpu-${e.objectId}`,userData:B7(e.objectId),children:[e.parts.map(E=>{let w=f.get(E.globalNumber);return w?jsxRuntime.jsxs(s1,{name:`part-${E.globalNumber}`,userData:Q3(E.objectId,E.globalNumber),partTransformation:E.partTransformation,children:[v==="HepcoGfx"&&jsxRuntime.jsx(Z6,{chain:w,profile:g}),w.modules.map((G,W)=>{let V=P6(G.moduleType,v,o?.modules),H=V?l1(t,V):null,X=v==="Beckhoff"?j2(G.moduleType,e.moverType):null,w1=X&&b.get(E.globalNumber)?.has(W)?O6(X,o?.guidingRails):"",Y=X&&w1?{railType:X,glbUrl:l1(t,w1)}:null,e1={processingUnitObjectId:e.objectId,partObjectId:E.objectId,moduleIndex:W},C1=n?Q0(n,e1):false,K2=A?.get(G.moduleType)??void 0,Y2=P?.get(E.objectId)?.get(W);return jsxRuntime.jsx(o9,{userData:L7(W),module:G,glbUrl:H,assetsBaseUrl:t,originCorrection:u?.modules?.[G.moduleType],guidingRail:Y,guidingRailCorrection:X?u?.rails?.[X]:void 0,selected:C1,selectionColor:i?.module??"#FFE090",feedSegmentColor:Y2,highlightColor:K2,moduleGlobalNumber:G.globalNumber,driveStatus:G.status,showWarnings:F,showErrors:D,showCornerMarkers:r.showModuleCornerMarkers,showTypePlate:r.moduleTypePlates,cornerMarkerSizeMm:r.moduleCornerMarkerOptions.sizeMm,cornerMarkerColor:r.moduleCornerMarkerOptions.color,onClick:a?Oe=>a(e1,Oe):void 0},`${G.moduleType}-${W}`)})]},E.globalNumber):null}),O&&jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(s9,{glbUrl:S,originCorrection:C,selectionColor:i?.mover??"#90E0FF",onMoverClick:l?(E,w)=>l({processingUnitObjectId:e.objectId,moverIndex:E},w):void 0,movers:N})}),O&&R&&I&&jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(s9,{glbUrl:_,originCorrection:I,selectionColor:i?.mover??"#90E0FF",movers:N})}),jsxRuntime.jsx(W5.Suspense,{fallback:null,children:e.movers.map(E=>{let w=y(E.partOid,E.id),G=f.get(w?.globalNumber??E.partOid);return !G||B(E)?null:jsxRuntime.jsx(s1,{name:`part-${w?.globalNumber??E.partOid}-mover-${E.id}`,userData:w?Q3(w.objectId,w.globalNumber):void 0,partTransformation:w?.partTransformation,children:jsxRuntime.jsxs(k8,{userData:G7(E.index,E.id),chain:G,partPositionMm:E.partPositionMm,moverId:E.id,glbUrl:S,moverType:e.moverType,assetsBaseUrl:t,originCorrection:u?.movers?.[e.moverType],pathLengthMm:T?.pathLengthMm,heightMm:T?.heightMm,positionFrame:e.positionFrame,selected:n?Ge(n,{processingUnitObjectId:e.objectId,moverIndex:E.index}):false,selectionColor:i?.mover??"#90E0FF",driveStatus:E.status,showWarnings:F,showErrors:D,showMoverId:r.showMoverIds,moverIdLabelOptions:r.moverIdLabelOptions,showAnchorMarker:r.showMoverAnchorMarker,anchorMarkerSizeMm:r.moverAnchorMarkerOptions.sizeMm,anchorMarkerColor:r.moverAnchorMarkerOptions.color,onClick:l?W=>l({processingUnitObjectId:e.objectId,moverIndex:E.index},W):void 0,children:[R?jsxRuntime.jsx(_8,{plateType:R,moverType:e.moverType,assetsBaseUrl:t,assetManifest:o,override:u?.magnetPlates?.[R]}):null,E.tools&&E.tools.length>0?jsxRuntime.jsx(w8,{moverId:E.id,tools:E.tools,assetsBaseUrl:t,assetManifest:o,toolOverrides:u?.tools}):null,(p??[]).map(W=>{if(W.visible===false)return null;let{binding:V}=W;return V.type==="static"||V.type==="mover"&&(V.moverRef.processingUnitObjectId!==e.objectId||V.moverRef.moverIndex!==E.index)?null:jsxRuntime.jsx(j1,{glbUrl:W.glbUrl,positionMm:V.offsetMm??[0,0,0],rotationDegEuler:V.rotationDegEuler??[0,0,0],scale:V.scale??1,opacity:W.opacity},W.id)})]})},E.id)})})]})},"ProcessingUnitRootImpl"),m9=W5__default.default.memo(Tl);m9.displayName="ProcessingUnitRoot";function f2(e){let t=e>>16&255,o=e>>8&255,r=e&255;return `#${(t<<16|o<<8|r).toString(16).padStart(6,"0")}`}s(f2,"argbIntToHex");function Cl(e){let t=/^#?([0-9a-f]{6})$/i.exec(e.trim());return (4278190080|(t?parseInt(t[1],16):0))>>>0}s(Cl,"hexToArgbInt");var U2=s(({points:e,thicknessMm:t,color:o,opacity:r=1,segmentsPerStep:n=1,radialSegments:i=8})=>{let a=W5.useMemo(()=>{if(e.length<2)return null;let c=new three.CatmullRomCurve3(e,false,"catmullrom",0),m=Math.max(8,e.length*n);return new three.TubeGeometry(c,m,t/2,i,false)},[e,t,n,i]),l=W5.useMemo(()=>new three.Color(o),[o]);return a?jsxRuntime.jsx("mesh",{geometry:a,children:jsxRuntime.jsx("meshStandardMaterial",{color:l,transparent:r<1,opacity:r,side:three.DoubleSide,roughness:.6,metalness:.1})}):null},"PathTube");var H0=s(({name:e,spans:t,color:o,thicknessMm:r,liftZMm:n,lateralMm:i,opacity:a,description:l,showDescription:c,labelSizeMm:m,labelColor:u,fontFamily:p,children:d})=>{let f=W5.useMemo(()=>{if(!c||t.length===0)return null;let M=t[0],g=(M.startMm+M.endMm)/2;return R1(M.chain,g,n,i)},[c,t,n,i]);return jsxRuntime.jsxs("group",{name:e,children:[t.map((M,g)=>jsxRuntime.jsx(U2,{points:p1(M.chain,M.startMm,M.endMm,Ke,n,i),thicknessMm:r,color:o,opacity:a},g)),d,f&&l&&jsxRuntime.jsx(P1,{positionMm:[f.position.x,f.position.y,f.position.z],text:l,sizeMm:m,color:u,fontFamily:p,liftMm:r*1.5+m*.3})]})},"TrackRangeOverlay");var Rl=s(({stations:e,chainsByPartOid:t,partTransformsByPartOid:o,display:r,positionFrame:n})=>{let i=r?.stationOptions,a=i?.thicknessMm??8,l=i?.displacementMm??60,c=i?.lateralDisplacementMm??0,m=r?.stationMarkerOptions?.shape??"Diamond",u=r?.stationMarkerOptions?.sizeMm??12,p=i?.showStationDescription??false,d=i?.showStopPositionValues??false,f=i?.textOptions?.sizeMm??30,M=i?.labelColorOverride,g=i?.textOptions?.fontFamily;return jsxRuntime.jsx("group",{name:"xts-stations",children:e.filter(h=>h.isEnabled).map(h=>{let y=h.partOids[0],A=y!==void 0?o?.get(y):void 0;return jsxRuntime.jsx(s1,{name:`station-wrap-${h.stationId}`,partTransformation:A,children:jsxRuntime.jsx(El,{station:h,chainsByPartOid:t,thickness:a,liftZ:l,lateralMm:c,defaultMarkerShape:m,defaultMarkerSize:u,showDescription:p,showStopValues:d,labelSize:f,labelColorOverride:M,fontFamily:g,positionFrame:n})},h.stationId)})})},"XtsStationsImpl"),u9=W5__default.default.memo(Rl);u9.displayName="XtsStations";var El=s(({station:e,chainsByPartOid:t,thickness:o,liftZ:r,lateralMm:n,defaultMarkerShape:i,defaultMarkerSize:a,showDescription:l,showStopValues:c,labelSize:m,labelColorOverride:u,fontFamily:p,positionFrame:d})=>{let f=W5.useMemo(()=>f2(e.stationColor),[e.stationColor]),M=u??f,g=e.stopMarkerShape??i,h=e.stopMarkerSizeMm??a,y=W5.useMemo(()=>R2(e.partOids,e.startPositionOnPart,e.endPositionOnPart,A=>t.get(A),d),[e,t,d]);return jsxRuntime.jsx(H0,{name:`station-${e.stationId}`,spans:y,color:f,thicknessMm:o,liftZMm:r,lateralMm:n,description:e.description,showDescription:l,labelSizeMm:m,labelColor:M,fontFamily:p,children:(e.stopPositions??[]).map((A,P)=>{let v=t.get(e.partOids[0]);if(!v)return null;let b=Y1(A,e,d),T=R1(v,b,r,n);return T?jsxRuntime.jsxs(W5__default.default.Fragment,{children:[jsxRuntime.jsx(N1,{position:T.position,tangent:T.tangent,shape:g,sizeMm:h,color:f}),c&&jsxRuntime.jsx(P1,{positionMm:[T.position.x,T.position.y,T.position.z],text:`${Math.round(A)} mm`,sizeMm:m*.85,color:M,fontFamily:p,liftMm:h*.6+m*.4})]},P):null})})},"Station");var _l=s(({chain:e,partPositionMm:t,glbUrl:o,moverType:r="AT9014_0055",assetsBaseUrl:n="/models",originCorrection:i,opacity:a=.45,tintColor:l,pathLengthMm:c=70,heightMm:m=125})=>{let u=c1("mover",r,n),p=i??u.correction??g1,d=I1(o??"");W5.useEffect(()=>{if(!d)return;let M=[],g=l?new three.Color(l):null,h=s(y=>{let A=y.clone();if(A.transparent=a<1,A.opacity=a,A.depthWrite=a>=.99,g&&"emissive"in A){let P=A;P.emissive.copy(g),P.emissiveIntensity=.35;}return A},"cloneOne");return d.scene.traverse(y=>{let A=y;if(!A.isMesh||!A.material)return;let P=Array.isArray(A.material)?A.material.map(h):h(A.material);M.push({mesh:A,original:A.material,cloned:P}),A.material=P;}),()=>{for(let{mesh:y,original:A,cloned:P}of M)y.material=A,Array.isArray(P)?P.forEach(v=>v.dispose()):P.dispose();}},[d,a,l]);let f=t1(e,t);return f?jsxRuntime.jsx("group",{position:f.positionMm,rotation:[0,0,f.yawDeg*Math.PI/180],raycast:()=>null,children:!o||!d?jsxRuntime.jsxs("mesh",{position:[0,0,50],children:[jsxRuntime.jsx("boxGeometry",{args:[c,50,m]}),jsxRuntime.jsx("meshBasicMaterial",{color:"#3D88E0",wireframe:true,transparent:true,opacity:a})]}):jsxRuntime.jsx(Q,{pose:{positionMm:p.translateMm,rotationDegEuler:p.rotationDegEuler},children:jsxRuntime.jsx("primitive",{object:d.scene})})}):null},"XtsStaticMoverContent"),Z8=s(e=>jsxRuntime.jsx(W5.Suspense,{fallback:null,children:jsxRuntime.jsx(_l,{...e})}),"XtsStaticMover");var Ll=s(({stations:e,chainsByPartOid:t,partTransformsByPartOid:o,moverType:r,glbUrl:n,assetsBaseUrl:i,options:a,positionFrame:l})=>{let c=a?.opacity??.45,m=a?.tintByStation!==false;return jsxRuntime.jsx("group",{name:"xts-stop-position-movers",children:e.filter(u=>u.isEnabled).flatMap(u=>(u.stopPositions??[]).map((p,d)=>{let f=u.partOids[0];if(f===void 0)return null;let M=t.get(f);if(!M)return null;let g=m?f2(u.stationColor):void 0,h=Y1(p,u,l);return jsxRuntime.jsx(s1,{name:`stop-mover-wrap-${u.stationId}-${d}`,partTransformation:o?.get(f),children:jsxRuntime.jsx(Z8,{chain:M,partPositionMm:h,glbUrl:n,moverType:r,assetsBaseUrl:i,opacity:c,tintColor:g||void 0})},`s${u.stationId}-${d}`)}))})},"XtsStopPositionMoversImpl"),d9=W5__default.default.memo(Ll);d9.displayName="XtsStopPositionMovers";var Hl=s(({areas:e,chainsByPartOid:t,partTransformsByPartOid:o,display:r,positionFrame:n})=>{let i=r?.areaOptions,a=i?.thicknessMm??8,l=i?.displacementMm??60,c=i?.lateralDisplacementMm??0,m=i?.showAreaDescription??true,u=i?.textOptions?.sizeMm??30,p=i?.labelColorOverride,d=i?.textOptions?.fontFamily,f=i?.opacity??1;return jsxRuntime.jsx("group",{name:"xts-areas",children:e.filter(M=>M.isEnabled).map(M=>{let g=M.partOids[0],h=g!==void 0?o?.get(g):void 0;return jsxRuntime.jsx(s1,{name:`area-wrap-${M.areaId}`,partTransformation:h,children:jsxRuntime.jsx(jl,{area:M,chainsByPartOid:t,thickness:a,liftZ:l,lateralMm:c,opacity:f,showDescription:m,labelSize:u,labelColorOverride:p,fontFamily:d,positionFrame:n})},M.areaId)})})},"XtsAreasImpl"),f9=W5__default.default.memo(Hl);f9.displayName="XtsAreas";var jl=s(({area:e,chainsByPartOid:t,thickness:o,liftZ:r,lateralMm:n,opacity:i,showDescription:a,labelSize:l,labelColorOverride:c,fontFamily:m,positionFrame:u})=>{let p=W5.useMemo(()=>f2(e.color),[e.color]),d=W5.useMemo(()=>R2(e.partOids,e.startPositionOnPart,e.endPositionOnPart,f=>t.get(f),u),[e,t,u]);return jsxRuntime.jsx(H0,{name:`area-${e.areaId}`,spans:d,color:p,thicknessMm:o,liftZMm:r,lateralMm:n,opacity:i,description:e.description,showDescription:a,labelSizeMm:l,labelColor:c??p,fontFamily:m})},"Area");function g9(e){return [...e].sort((t,o)=>t.positionMm-o.positionMm)}s(g9,"sortHeatmapSamples");function M9(e,t){if(e.length===0)return null;if(e.length===1)return e[0].value;let o=e[0],r=e[e.length-1];if(t<=o.positionMm)return o.value;if(t>=r.positionMm)return r.value;let n=0,i=e.length-1;for(;i-n>1;){let u=n+i>>1;e[u].positionMm<=t?n=u:i=u;}let a=e[n],l=e[i],c=l.positionMm-a.positionMm;if(c===0)return a.value;let m=(t-a.positionMm)/c;return a.value+m*(l.value-a.value)}s(M9,"interpolateHeatmapValue");function h9(e,t,o){if(o<=t)return 0;let r=(e-t)/(o-t);return r<0?0:r>1?1:r}s(h9,"normaliseToHeatmapRange");var Wl="#22c55e",Zl="#ef4444",Kl=6,Yl=-15,ql=0,Jl=8,Ql=.85,y9=8,$l=s(({chain:e,samples:t,min:o,max:r,minColor:n=Wl,maxColor:i=Zl,thicknessMm:a=Kl,displacementMm:l=Yl,lateralDisplacementMm:c=ql,segmentsPerModule:m=Jl,opacity:u=Ql,positionFrame:p})=>{let d=W5.useMemo(()=>g9(t),[t]),f=W5.useMemo(()=>{if(e.modules.length===0||d.length===0)return null;let g=e.trackLengthMm/Math.max(1,e.modules.length)/m,h=p1(e,0,e.trackLengthMm,g,l,c);if(h.length<2)return null;let y=new three.CatmullRomCurve3(h,false,"catmullrom",0),A=h.length-1,P=new three.TubeGeometry(y,A,a/2,y9,false),v=P.attributes.position.count,b=new Float32Array(v*3),T=new three.Color(n),x=new three.Color(i),C=new three.Color;for(let S=0;S<=A;S++){let k=S/A*e.trackLengthMm,I=O1(k,p),_=M9(d,I),F=_!==null?h9(_,o,r):0;C.copy(T).lerp(x,F);for(let D=0;D<=y9;D++){let L=S*(y9+1)+D;b[L*3]=C.r,b[L*3+1]=C.g,b[L*3+2]=C.b;}}return P.setAttribute("color",new three.BufferAttribute(b,3)),P},[e,d,o,r,n,i,a,l,c,m,p]);return W5.useEffect(()=>()=>{f?.dispose();},[f]),f?jsxRuntime.jsx("mesh",{geometry:f,raycast:()=>null,children:jsxRuntime.jsx("meshStandardMaterial",{vertexColors:true,transparent:u<1,opacity:u,side:three.DoubleSide,roughness:.55,metalness:.05,emissiveIntensity:.3})}):null},"PartHeatmapImpl"),J8=W5__default.default.memo($l);J8.displayName="XtsStatorHeatmap.Part";var ec=s(({chainsByPartOid:e,partTransformsByPartOid:t,parts:o,positionFrame:r,...n})=>jsxRuntime.jsx("group",{name:"xts-stator-heatmap",children:o.map(i=>{let a=e.get(i.partOid);return a?jsxRuntime.jsx(s1,{name:`heatmap-wrap-part-${i.partOid}`,partTransformation:t?.get(i.partOid),children:jsxRuntime.jsx(J8,{chain:a,samples:i.samples,...n,positionFrame:r})},i.partOid):null})}),"XtsStatorHeatmapImpl"),T9=W5__default.default.memo(ec);T9.displayName="XtsStatorHeatmap";function Q8(e,t={}){let{invert:o=false,intermediateStepMm:r=0}=t;if(e.modules.length===0)return [];let n=e.trackLengthMm,i=[];for(let c=0;c<e.modules.length;c++){let m=e.modules[c],u=o?m.startPositionInPartMm+m.trackLengthMm:m.startPositionInPartMm;i.push({positionMm:u,kind:"boundary",moduleIndex:c,positionInModuleMm:o?m.trackLengthMm:0});}let a=e.modules.length-1,l=e.modules[a];if(o){let c=e.modules[0];i.push({positionMm:c.startPositionInPartMm,kind:"boundary",moduleIndex:0,positionInModuleMm:0});}else i.push({positionMm:l.startPositionInPartMm+l.trackLengthMm,kind:"boundary",moduleIndex:a,positionInModuleMm:l.trackLengthMm});if(r>0)for(let c=r;c<n-.5;c+=r){if(i.some(p=>p.kind==="boundary"&&Math.abs(p.positionMm-c)<.5))continue;let u=tc(e,c);u&&i.push({positionMm:c,kind:"intermediate",moduleIndex:u.idx,positionInModuleMm:c-u.module.startPositionInPartMm});}return i.sort((c,m)=>c.positionMm-m.positionMm),i}s(Q8,"buildDimensionTicks");function $8(e,t="partPosition"){let o=s(r=>Math.round(r),"round");return t==="partPosition"?`${o(e.positionMm)} mm`:t==="fromModule"?`${o(e.positionInModuleMm)} mm`:`${o(e.positionMm)} (${o(e.positionInModuleMm)}) mm`}s($8,"formatDimensionValue");function tc(e,t){for(let r=0;r<e.modules.length;r++){let n=e.modules[r];if(t<n.startPositionInPartMm+n.trackLengthMm)return {idx:r,module:n}}let o=e.modules[e.modules.length-1];return {idx:e.modules.length-1,module:o}}s(tc,"findModuleAt");var oc=s(({chainsByPartOid:e,partTransformsByPartOid:t,railSystem:o,display:r,positionFrame:n})=>{let i=r?.dimensionOptions,a=i?.thicknessMm??4,l=i?.displacementMm??0,c=o==="HepcoGfx"?40:80,m=i?.lateralDisplacementMm??c,u=r?.invertDimensions??false,p=i?.textOptions?.color??"#88AAFF",d=i?.showValues??false,f=i?.showIntermediateValues??true,M=i?.intermediateStepMm??0,g=i?.valueMode??"partPosition",h=i?.textOptions?.sizeMm??30,y=i?.textOptions?.fontFamily,A=i?.intermediateMarkerOptions;return jsxRuntime.jsx("group",{name:"xts-dimensions",children:Array.from(e.entries()).map(([P,v])=>jsxRuntime.jsx(s1,{name:`dim-wrap-part-${P}`,partTransformation:t?.get(P),children:jsxRuntime.jsx(rc,{chain:v,thickness:a,liftZ:l,lateralMm:m,invert:u,color:p,showValues:d,showIntermediateValues:f,intermediateStepMm:M,intermediateShape:A?.shape??"Tick",intermediateSizeMm:A?.sizeMm,valueMode:g,labelSize:h,fontFamily:y,positionFrame:n})},P))})},"XtsDimensionsImpl"),C9=W5__default.default.memo(oc);C9.displayName="XtsDimensions";var rc=s(({chain:e,thickness:t,liftZ:o,lateralMm:r,invert:n,color:i,showValues:a,showIntermediateValues:l,intermediateStepMm:c,intermediateShape:m,intermediateSizeMm:u,valueMode:p,labelSize:d,fontFamily:f,positionFrame:M})=>{let g=p1(e,0,e.trackLengthMm,20,o,r),h=Q8(e,{invert:n,intermediateStepMm:c}),y=Math.max(t*2,8),A=u??y*.6,P=nc(i,.35),v=[];for(let b of h){let T=R1(e,b.positionMm,o,r);T&&v.push({tick:b,sample:T});}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(U2,{points:g,thicknessMm:t,color:i,opacity:.7}),v.map(({tick:b,sample:T},x)=>{let C=b.kind==="boundary",S=a&&(C||l),R=O1(b.positionMm,M),k=$8({...b,positionMm:R},p);return jsxRuntime.jsxs(W5__default.default.Fragment,{children:[jsxRuntime.jsx(N1,{position:T.position,tangent:T.tangent,shape:C?"Tick":m,sizeMm:C?y:A,color:C?i:P}),S&&jsxRuntime.jsx(P1,{positionMm:[T.position.x,T.position.y,T.position.z],text:k,sizeMm:C?d:d*.8,color:C?i:P,fontFamily:f})]},x)})]})},"PartDimensions");function nc(e,t){if(!e.startsWith("#")||e.length!==7&&e.length!==4)return e;let o=e.length===4?"#"+e.slice(1).split("").map(l=>l+l).join(""):e,r=parseInt(o.slice(1,3),16),n=parseInt(o.slice(3,5),16),i=parseInt(o.slice(5,7),16),a=s(l=>Math.max(0,Math.min(255,Math.round(l*(1-t)))),"k");return `#${a(r).toString(16).padStart(2,"0")}${a(n).toString(16).padStart(2,"0")}${a(i).toString(16).padStart(2,"0")}`}s(nc,"mixWithBlack");var sc=4,ot=s(({infoBars:e,chainsByPartObjectId:t,partTransformsByPartObjectId:o,positionFrame:r})=>jsxRuntime.jsx("group",{name:"xts-infobars",children:e.filter(n=>n.visible).map((n,i)=>{let a=t.get(n.partObjectId);if(!a)return null;let l=o?.get(n.partObjectId),c=n.displacement+n.zIndex*sc,m=K(n.partStartPositionMm,r),u=K(n.partEndPositionMm,r),p=p1(a,m,u,15,c);return jsxRuntime.jsxs(s1,{name:`infobar-${i}`,partTransformation:l,children:[jsxRuntime.jsx(U2,{points:p,thicknessMm:Math.max(n.thickness,1),color:n.color.color}),(n.markers??[]).map((d,f)=>{let M=K(d.positionMm,r),g=R1(a,M,c+2);return g?jsxRuntime.jsx(N1,{position:g.position,tangent:g.tangent,shape:d.shape,sizeMm:d.sizeMm,color:d.color??n.color.color},f):null})]},i)})}),"XtsInfoBars");var rt=s(({xpu:e,chains:t,trackTransform:o,assetsBaseUrl:r,assetManifest:n,display:i,selection:a,selectionColors:l,moduleHighlights:c,feedSegmentHighlights:m,onModuleClick:u,onMoverClick:p,sidecarOverrides:d,customAssets:f,instancing:M,hepcoGfxProfile:g,stations:h,areas:y,infoBars:A,statorHeatmap:P,showStations:v,showAreas:b,showDimensions:T})=>{let x=W5.useMemo(()=>{let I=new Map,_=new Map,F=new Map,D=new Map;for(let L of e.parts){let O=t.get(L.globalNumber);O&&(I.set(L.globalNumber,O),_.set(L.objectId,O)),F.set(L.globalNumber,L.partTransformation),D.set(L.objectId,L.partTransformation);}return {chainsByGlobalNumber:I,chainsByPartObjectId:_,transformsByGlobalNumber:F,transformsByPartObjectId:D}},[e,t]),C=s(I=>I.some(_=>x.chainsByGlobalNumber.has(_)),"onThisXpu"),S=h.filter(I=>C(I.partOids)),R=y.filter(I=>C(I.partOids)),k=P?.parts.filter(I=>x.chainsByGlobalNumber.has(I.partOid))??[];return jsxRuntime.jsxs(Q,{name:`xpu-root-${e.objectId}`,pose:o,defaultPositionMm:[0,0,x2],children:[jsxRuntime.jsx(m9,{xpu:e,chains:t,assetsBaseUrl:r,assetManifest:n,display:i,selection:a,selectionColors:l,moduleHighlights:c,feedSegmentHighlights:m,onModuleClick:u,onMoverClick:p,sidecarOverrides:d,customAssets:f,instancing:M,hepcoGfxProfile:g}),v&&jsxRuntime.jsx(u9,{stations:S,chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,display:i,positionFrame:e.positionFrame}),i?.showStopPositionMovers&&jsxRuntime.jsx(d9,{stations:S,chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,moverType:e.moverType,glbUrl:l1(r,ye(e.moverType,n?.movers)),assetsBaseUrl:r,options:i.stopPositionMoverOptions,positionFrame:e.positionFrame}),b&&R.length>0&&jsxRuntime.jsx(f9,{areas:R,chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,display:i,positionFrame:e.positionFrame}),i?.showStatorHeatmap&&P&&k.length>0&&jsxRuntime.jsx(T9,{chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,parts:k,min:P.min,max:P.max,minColor:P.minColor||void 0,maxColor:P.maxColor||void 0,thicknessMm:P.thicknessMm,displacementMm:P.displacementMm,lateralDisplacementMm:P.lateralDisplacementMm,segmentsPerModule:P.segmentsPerModule,opacity:P.opacity,positionFrame:e.positionFrame}),T&&jsxRuntime.jsx(C9,{chainsByPartOid:x.chainsByGlobalNumber,partTransformsByPartOid:x.transformsByGlobalNumber,railSystem:e.railSystem??"Beckhoff",display:i,positionFrame:e.positionFrame}),A.length>0&&jsxRuntime.jsx(ot,{infoBars:A,chainsByPartObjectId:x.chainsByPartObjectId,partTransformsByPartObjectId:x.transformsByPartObjectId,positionFrame:e.positionFrame})]})},"XpuGroup");var bc=new Map,yc=[],lt=s(({config:e,assetsBaseUrl:t,assetManifest:o,showGrid:r=true,display:n,selection:i,selectionColors:a,moduleHighlights:l,feedSegmentHighlights:c,onModuleClick:m,onMoverClick:u,onCustomAssetClick:p,transformGizmo:d,performance:f,sidecarOverrides:M,trackTransformOverrides:g,hepcoGfxProfile:h,shadowOnDemand:y=false,demandRendering:A=true,viewCube:P,overlayFps:v=false,onOrbitReady:b,onCameraReady:T,projection:x="perspective",lock:C,keyboardNavigation:S,statorHeatmap:R,measurement:k,trackIndex:I})=>{let _=W5.useContext(o1);p7(f?.autoPauseOnHidden!==false,A),d7(A,_),g7(y);let F=n.showStations,D=n.showAreas,L=n.showDimensions,O=x==="orthographic",B=W5.useMemo(()=>B1(e,g),[e,g]),N=W5.useMemo(()=>{let Y=B.getCenter(new three.Vector3);return [Y.x,Y.y,Y.z]},[B]),E=O?C?.rotate===false:C?.rotate!==true,w=C?.pan!==true,G=C?.zoom!==true,W=w&&S?.enabled!==false,V=W5.useMemo(()=>e.processingUnits.map(Y=>{let e1=new Map;for(let C1 of Y.parts)e1.set(C1.globalNumber,Z(C1.modules));return e1}),[e]),H=e.stations??[],X=e.areas??[],w1=W5.useMemo(()=>{let Y=new Map;for(let e1 of e.infoBars??[]){let C1=Y.get(e1.processingUnitObjectId);C1?C1.push(e1):Y.set(e1.processingUnitObjectId,[e1]);}return Y},[e.infoBars]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Q7,{shadows:n.lighting.shadows,environmentLighting:n.lighting.environment,environmentIntensity:n.lighting.environmentIntensity}),jsxRuntime.jsx(T7,{...n.postProcessing}),r&&jsxRuntime.jsx(drei.Grid,{args:[5e3,5e3],cellSize:100,sectionSize:500,cellColor:"#506070",sectionColor:"#90A0B0",rotation:x5,fadeDistance:5e3}),O&&jsxRuntime.jsx(xc,{bbox:B,paddingFactor:1.1}),jsxRuntime.jsx(drei.OrbitControls,{makeDefault:true,enableDamping:true,dampingFactor:.1,enableRotate:E,enablePan:w,enableZoom:G,rotateSpeed:1,panSpeed:1,zoomSpeed:1,target:O?N:[0,0,0]}),jsxRuntime.jsx(C4,{enabled:W,speed:S?.speed}),b&&jsxRuntime.jsx(Tc,{onReady:b}),T&&jsxRuntime.jsx(Cc,{onReady:T}),v&&jsxRuntime.jsx(drei.Stats,{}),P?.enabled&&jsxRuntime.jsx(drei.GizmoHelper,{alignment:P.alignment??"bottom-right",margin:P.marginPx??[80,80],children:jsxRuntime.jsx(h4,{})}),jsxRuntime.jsxs(Q,{name:f0,pose:e.orientation,children:[e.customAssets&&e.customAssets.length>0&&jsxRuntime.jsx(S7,{assets:e.customAssets,selection:i,selectionColor:a?.customAsset,onAssetClick:p,poseOverrides:d?.assetPoses}),e.processingUnits.map((Y,e1)=>jsxRuntime.jsx(rt,{xpu:Y,chains:V[e1]??bc,trackTransform:A1(Y,g),assetsBaseUrl:t,assetManifest:o,display:n,selection:i,selectionColors:a,moduleHighlights:l,feedSegmentHighlights:c,onModuleClick:m,onMoverClick:u,sidecarOverrides:M,customAssets:e.customAssets,instancing:f?.instancing===true,hepcoGfxProfile:h,stations:H,areas:X,infoBars:w1.get(Y.objectId)??yc,statorHeatmap:R,showStations:F,showAreas:D,showDimensions:L},Y.objectId))]}),d?.target&&d.pose&&jsxRuntime.jsx(Q,{pose:e.orientation,children:jsxRuntime.jsx(f4,{pose:d.pose,handles:d.handles,axisColors:d.axisColors,sizePx:d.sizePx,minScale:d.minScale,translateSnapMm:d.translateSnapMm,rotateSnapDeg:d.rotateSnapDeg,scaleSnap:d.scaleSnap,onDragStart:d.onDragStart,onDrag:d.onDrag,onDragEnd:d.onDragEnd})}),jsxRuntime.jsx(t6,{config:e,trackIndex:I??nt,style:k?.style}),jsxRuntime.jsx(K7,{config:e,trackIndex:I??nt,snap:k?.snap,groundPlaneZMm:k?.groundPlaneZMm,annotationTextFactory:k?.annotationTextFactory})]})},"XtsScene"),nt=[],Tc=s(({onReady:e})=>{let t=fiber.useThree(o=>o.controls);return W5.useEffect(()=>{t&&e(t);},[t,e]),null},"ControlsCapture"),Cc=s(({onReady:e})=>{let t=fiber.useThree(o=>o.camera);return W5.useEffect(()=>{e(t);},[t,e]),null},"CameraCapture"),xc=s(({bbox:e,paddingFactor:t})=>{let o=W5.useRef(null),r=fiber.useThree(l=>l.size),n=fiber.useThree(l=>l.controls),i=r.height>0?r.width/r.height:1,a=W5.useMemo(()=>$1(e,i,t),[e,i,t]);return W5.useLayoutEffect(()=>{let l=o.current;l&&(l.left=a.left,l.right=a.right,l.top=a.top,l.bottom=a.bottom,l.near=a.near,l.far=a.far,l.up.set(...a.up),l.position.set(...a.position),l.updateProjectionMatrix(),l.lookAt(new three.Vector3(...a.target)),n&&(n.target.set(...a.target),n.update()));},[a,n]),jsxRuntime.jsx(drei.OrthographicCamera,{ref:o,makeDefault:true,up:a.up,near:a.near,far:a.far,left:a.left,right:a.right,top:a.top,bottom:a.bottom,position:a.position})},"TopDownOrthoCamera");var ct=.01,mt=s(({config:e,warningGapMm:t,intervalMs:o=0,forceClosedLoop:r,onCollisionsChange:n})=>{let i=W5.useContext(o1),a=W5.useRef(""),l=W5.useRef(0),c=W5.useRef([]);return W5.useEffect(()=>{let m=[];for(let u of e.processingUnits)for(let p of u.parts)try{let d=Z(p.modules),f=u.movers.filter(M=>M.partOid===p.globalNumber).map(M=>({moverIndex:M.index,id:M.id,partOid:M.partOid,moverType:u.moverType,partPositionMm:M.partPositionMm,...u.moverType==="Custom"&&u.customMoverLayout?.pathLengthMm!==void 0?{pathLengthOverrideMm:u.customMoverLayout.pathLengthMm}:{}}));f.length>=2&&m.push({chain:d,partOid:p.globalNumber,xpuObjectId:u.objectId,moverList:f});}catch{}c.current=m,a.current="";},[e]),fiber.useFrame(({clock:m})=>{if(o>0){let f=m.getElapsedTime()*1e3;if(f-l.current<o)return;l.current=f;}let u={};t!==void 0&&(u.warningGapMm=t),r!==void 0&&(u.forceClosedLoop=r);let p=[];for(let f of c.current){let M=f.moverList.map(h=>{let y=i?.get(h.id),A={ref:{processingUnitObjectId:f.xpuObjectId,moverIndex:h.moverIndex},id:h.id,partOid:h.partOid,moverType:h.moverType,partPositionMm:y??h.partPositionMm};return h.pathLengthOverrideMm!==void 0&&(A.pathLengthMm=h.pathLengthOverrideMm),A}),g=We(f.chain,f.partOid,M,u);for(let h of g)p.push(h);}p.sort((f,M)=>M.penetrationMm-f.penetrationMm);let d=p.map(f=>{let M=Math.round(f.penetrationMm/ct)*ct,[g,h]=f.idA<f.idB?[f.idA,f.idB]:[f.idB,f.idA];return `${g}|${h}|${M.toFixed(2)}`}).join(";");d!==a.current&&(a.current=d,n(p));}),null},"CollisionMonitor");var ut=.01,pt=s(({config:e,orientation:t,trackTransformOverrides:o,warningGapMm:r,onCollisionsChange:n})=>{let i=W5.useRef("");return W5.useEffect(()=>{let a={};r!==void 0&&(a.warningGapMm=r);let l=te(e,t,o,a),c=l.map(m=>{let u=Math.round(m.overlapMm/ut)*ut;return `${m.a.processingUnitObjectId}.${m.a.partObjectId}.${m.a.moduleIndex}|${m.b.processingUnitObjectId}.${m.b.partObjectId}.${m.b.moduleIndex}|${u.toFixed(2)}`}).join(";");c!==i.current&&(i.current=c,n(l));},[e,t,o,r]),null},"ModuleCollisionMonitor");var dt=Symbol.for("beckhoff-xts-viewer-3d/silencer"),kc=[{type:"warn",prefix:"THREE.Clock: This module has been deprecated."}];function ft(){let e=three.getConsoleFunction();if(e&&e[dt])return;let t=s((o,r,...n)=>{if(typeof r=="string"&&kc.some(a=>a.type===o&&r.startsWith(a.prefix)))return;if(e){e(o,r,...n);return}let i=console[o];typeof i=="function"?i.call(console,r,...n):console.log(r,...n);},"filter");t[dt]=true,three.setConsoleFunction(t);}s(ft,"silenceUpstreamThreeWarnings");var Bc=z0,gt=[],Lc=W5.forwardRef(s(function(t,o){ft();let{config:r,assetsBaseUrl:n=Bc,assetManifest:i,onError:a,initialCamera:l,lock:c,debug:m,className:u,style:p}=t,d=W5.useRef(null),f=W5.useRef(null),M=W5.useRef(null),g=W5.useRef(null),h=v2(()=>new Qe),y=v2(()=>new e0),A=v2(()=>new o0),P=v2(()=>new $e),v=v2(()=>new l0),b=B9(r,a),T=t.display?.coordinateSystem,x=W5.useMemo(()=>b&&T==="beckhoff-xts"?J0(b):b,[b,T]),C=W5.useMemo(()=>T==="beckhoff-xts"?q0(t.trackTransformOverrides):t.trackTransformOverrides,[t.trackTransformOverrides,T]),S=W5.useMemo(()=>T5(t.moduleHighlights,t.highlightInfeedModules,t.infeedHighlightColor),[t.moduleHighlights,t.highlightInfeedModules,t.infeedHighlightColor]),R=W5.useRef(gt),k=W5.useRef(t.measurement);k.current=t.measurement;let I=W5.useMemo(()=>u7({store:v.current,getTrackIndex:s(()=>R.current,"getTrackIndex"),getFormat:s(()=>m0(se(k.current?.style)),"getFormat")}),[v]),[_,F]=W5.useState("none"),D=t.measurement?.tool;W5.useEffect(()=>{v.current.setTool(D??"none");},[D,v]);let L=t.measurement?.measurements;W5.useEffect(()=>{L&&v.current.setMeasurements(L);},[L,v]);let O=t.measurement?.annotations;W5.useEffect(()=>{O&&v.current.setAnnotations(O);},[O,v]),W5.useEffect(()=>{let a1=v.current;return a1.subscribe(W1=>{let D1=k.current;switch(W1.type){case "tool":F(a1.getTool());break;case "measurements":D1?.onMeasurementsChange?.(I.list(),I.results());break;case "measurement-created":{let _1=I.result(W1.measurement.id);_1&&D1?.onMeasurementCreate?.(W1.measurement,_1);break}case "annotations":D1?.onAnnotationsChange?.(I.listAnnotations());break;case "annotation-created":D1?.onAnnotationCreate?.(W1.annotation);break;case "draft":D1?.onDraftChange?.(a1.getDraft());break}})},[I,v]);let{effectiveSelection:B,selectionMode:N,handleModuleClick:E,handleMoverClick:w,handleCustomAssetClick:G,handlePointerMissed:W}=U9({...t.selection!==void 0?{selection:t.selection}:{},selectionMode:t.selectionMode,selectionScope:t.selectionScope,selectionLocked:c?.selection===true||_!=="none",...t.onSelectionChange?{onSelectionChange:t.onSelectionChange}:{},...t.onModuleClick?{onModuleClick:t.onModuleClick}:{},...t.onMoverClick?{onMoverClick:t.onMoverClick}:{},...t.onCustomAssetClick?{onCustomAssetClick:t.onCustomAssetClick}:{}}),V=o5({options:t.transformGizmo,config:x,selection:B,trackTransformOverrides:C,beckhoffConvention:T==="beckhoff-xts",suppressed:_!=="none"}),H=V.trackTransformOverrides,X=W5.useMemo(()=>x?L3(x,H):gt,[x,H]);R.current=X,z5({ref:o,config:r,normalized:x,cameraRef:d,orbitRef:f,glRef:M,sceneRef:g,moverStoreRef:h,moduleStatusStoreRef:y,moverToolStateStoreRef:A,captureRegistryRef:P,measurementApi:I,...H?{trackTransformOverrides:H}:{}});let w1=l?.positionMm??[1500,-1500,1500],Y=l?.targetMm??[0,0,0],e1=W5.useMemo(()=>G9(t.display),[t.display]),C1=e1.lighting.shadows,K2=A5(e1.lighting.toneMapping),Y2=e1.lighting.toneMappingExposure,Oe=t.performance?.demandRendering!==false,Mt=t.performance?.maxDpr??2,ht=C1&&t.performance?.shadowOnDemand!==false;W5.useEffect(()=>{let a1=M.current;a1&&(a1.toneMapping=K2,a1.toneMappingExposure=Y2);},[K2,Y2]);let Re=t.performance?.ktx2TranscoderUrl;return W5.useEffect(()=>{x7(Re??null);},[Re]),jsxRuntime.jsx("div",{className:u,style:{width:"100%",height:"100%",...p},children:jsxRuntime.jsx(fiber.Canvas,{camera:{fov:45,near:1,far:5e4,position:w1,up:[0,0,1]},gl:{alpha:true,antialias:true,premultipliedAlpha:true,powerPreference:"high-performance"},dpr:[1,Mt],frameloop:Oe?"demand":"always",shadows:C1?"soft":false,onPointerMissed:W,onCreated:({camera:a1,controls:W1,scene:D1,gl:_1})=>{d.current=a1,W1&&(f.current=W1),M.current=_1,g.current=D1,a1.lookAt(...Y),_1.toneMapping=K2,_1.toneMappingExposure=Y2,D1.background=null,_1.setClearAlpha(0),h6().configure({gl:_1,...Re?{transcoderUrl:Re}:{}});},children:jsxRuntime.jsx(o1.Provider,{value:h.current,children:jsxRuntime.jsx(E3.Provider,{value:P.current,children:jsxRuntime.jsx(t0.Provider,{value:y.current,children:jsxRuntime.jsx(r0.Provider,{value:A.current,children:jsxRuntime.jsx(n0.Provider,{value:{useBuiltins:t.useBuiltinSidecars!==false},children:jsxRuntime.jsx(k3.Provider,{value:v.current,children:jsxRuntime.jsxs(W5.Suspense,{fallback:null,children:[x?jsxRuntime.jsx(lt,{config:x,assetsBaseUrl:n,assetManifest:i,showGrid:m?.showGrid!==false,shadowOnDemand:ht,demandRendering:Oe,overlayFps:m?.overlayFps===true,viewCube:t.viewCube,display:e1,selection:B,selectionColors:t.selectionColors,moduleHighlights:S,feedSegmentHighlights:t.feedSegmentHighlights,onModuleClick:E,onMoverClick:w,onCustomAssetClick:N==="Off"?void 0:G,transformGizmo:V,performance:t.performance,sidecarOverrides:t.sidecarOverrides,trackTransformOverrides:H,hepcoGfxProfile:t.hepcoGfxProfile,statorHeatmap:t.statorHeatmap,onOrbitReady:a1=>{f.current=a1;},onCameraReady:a1=>{d.current=a1;},measurement:t.measurement,trackIndex:X,projection:t.projection??"perspective",lock:c,keyboardNavigation:t.keyboardNavigation}):null,x&&t.collision?.movers?.enabled&&jsxRuntime.jsx(mt,{config:x,warningGapMm:t.collision.movers.warningGapMm,intervalMs:t.collision.movers.intervalMs,forceClosedLoop:t.collision.movers.forceClosedLoop,onCollisionsChange:t.collision.movers.onCollisionsChange??(()=>{})}),x&&t.collision?.modules?.enabled&&jsxRuntime.jsx(pt,{config:x,orientation:x.orientation,trackTransformOverrides:H,warningGapMm:t.collision.modules.warningGapMm,onCollisionsChange:t.collision.modules.onCollisionsChange??(()=>{})})]})})})})})})})})})},"XtsViewer3D"));var h2=s((e,t,o,r)=>({plateType:e,poleCount:t,lengthMm:o,hasEncoderFlag:r}),"PLATE"),v9=Object.freeze({AT9001_0450:h2("AT9001_0450",4,46,true),AT9001_0550:h2("AT9001_0550",5,49.9,true),AT9001_0775:h2("AT9001_0775",7,74,true),AT9001_0AA0:h2("AT9001_0AA0",10,99.9,true),ATH9001_0550:h2("ATH9001_0550",5,57,false),ATH9001_0550_0001:h2("ATH9001_0550_0001",5,57,false),ATH9001_0AA0:h2("ATH9001_0AA0",10,107,false)});function Hc(e){return v9[e]}s(Hc,"getMagnetPlateEntry");function jc(e){return typeof e=="string"&&e in v9}s(jc,"isKnownMagnetPlateType");
|
|
7
|
+
exports.AssetLoader=k0;exports.BUILTIN_MODULE_SIDECARS=ee;exports.BUILTIN_MOVER_SIDECARS=f3;exports.BUILTIN_RAIL_SIDECARS=M3;exports.BUILTIN_TOOL_SIDECARS=g3;exports.CLOTHOID_HALF_PAIRS=k9;exports.DEFAULT_LABEL_FONT_URL=I7;exports.DEFAULT_MAGNET_PLATE_TYPE=E9;exports.DEFAULT_MEASUREMENT_STYLE=v1;exports.DEFAULT_MODULE_HALF_WIDTH_MM=g5;exports.DEFAULT_MODULE_HEIGHT_MM=M5;exports.DEFAULT_MODULE_MANIFEST=P4;exports.DEFAULT_MOVER_MANIFEST=S4;exports.DEFAULT_ORIGIN_CORRECTION=g1;exports.DEFAULT_RAIL_MANIFEST=R4;exports.DEFAULT_SNAP_KINDS=y0;exports.DEFAULT_SNAP_RADIUS_PX=T0;exports.DEFAULT_TOOL_MANIFEST=O4;exports.DEFAULT_TRACK_Z_MM=x2;exports.EMPTY_SELECTION=q2;exports.GIZMO_AXIS_COLORS=S1;exports.GIZMO_AXIS_LABELS=J2;exports.HEPCO_GFX_PROFILE=q;exports.IDENTITY_POSE=s5;exports.INFEED_MODULE_TYPES=X0;exports.JSDELIVR_ASSETS_BASE_URL=z0;exports.MAGNET_PLATE_CATALOG=v9;exports.MODULE_CATALOG=ke;exports.MODULE_GUIDING_RAIL_MAP=E4;exports.MOVER_CATALOG=we;exports.MOVER_INTEGRATED_PLATE=R9;exports.ModuleCornerMarkers=Y6;exports.MoverIdLabel=i9;exports.SIDECAR_KINDS=t9;exports.SidecarLoader=be;exports.SidecarSourceContext=n0;exports.VERSION=U0;exports.XtsArcCurve3=q1;exports.XtsConfigNormalizer=K0;exports.XtsModuleCurve3=q1;exports.XtsPointCloudCurve3=q1;exports.XtsViewer3D=Lc;exports.XtsViewerErrorException=z;exports.angleDeg=$5;exports.applyBeckhoffXtsConvention=J0;exports.applyBeckhoffXtsConventionToOverrides=q0;exports.applyBeckhoffXtsConventionToTrackTransform=_e;exports.applyCustomAssetClick=o3;exports.applyEmptyClick=r3;exports.applyModuleClick=$0;exports.applyMoverClick=e3;exports.applyTrackClick=t3;exports.arcPoints=_3;exports.argbIntToHex=f2;exports.axisDistanceMm=Q5;exports.buildChain=Z;exports.buildHepcoGfxBaseplateBridgeOutline=B4;exports.buildHepcoGfxBaseplateOutline=F4;exports.buildHepcoGfxBracketBaseOutline=j4;exports.buildHepcoGfxBracketEndBlockOutline=H4;exports.buildHepcoGfxBracketOutline=L4;exports.buildHepcoGfxBracketWallOutline=G4;exports.buildHepcoGfxRailOutline=_4;exports.buildModuleProbes=h5;exports.buildPartPath=Ao;exports.buildTrackIndex=L3;exports.bundledLabelFontUrl=k7;exports.chainToUserPositionMm=O1;exports.checkAllModuleCollisions=te;exports.checkAllMoverCollisions=p3;exports.checkModuleCollisions=b5;exports.checkSamePathCollisions=We;exports.chooseSnapCandidate=r6;exports.coarseHeightSpan=Ze;exports.collectFeedSegments=P3;exports.collectFeedSegmentsForXpu=Je;exports.collectTriangleSnapCandidates=n6;exports.composeAssetUrl=l1;exports.computeMeasurementResult=n2;exports.createHepcoGfxBaseplateBridgeShape=I6;exports.createHepcoGfxBaseplateShape=E6;exports.createHepcoGfxBracketBaseShape=w6;exports.createHepcoGfxBracketEndBlockShape=_6;exports.createHepcoGfxBracketShape=Ts;exports.createHepcoGfxBracketWallShape=D6;exports.createHepcoGfxRailShape=k6;exports.deselectAll=Ft;exports.distanceMm=o2;exports.findModuleAt=l5;exports.formatAngleDeg=t7;exports.formatLengthMm=G1;exports.getMagnetPlateEntry=Hc;exports.getModuleEntry=Z1;exports.getMoverEntry=b2;exports.getPointCloud=Xe;exports.getSharedAssetLoader=h6;exports.heightSpanOf=d5;exports.hepcoGfxBaseplateBridgeSpans=H6;exports.hepcoGfxBracketBores=X6;exports.hepcoGfxBracketEndBlockSpans=U6;exports.hepcoGfxBracketRuns=j6;exports.hepcoGfxBracketWallSpans=N6;exports.hepcoGfxPlateBores=z6;exports.hexToArgbInt=Cl;exports.interpolateHeatmapValue=M9;exports.isChainClosed=M1;exports.isCustomAssetSelected=He;exports.isKnownMagnetPlateType=jc;exports.isKnownModuleType=V0;exports.isKnownMoverType=Z0;exports.isModuleSelected=Q0;exports.isMoverSelected=Ge;exports.isTrackSelected=Le;exports.labelAnchorFor=re;exports.moduleAnchorWorld=j3;exports.moduleEndDelta=u3;exports.moduleHeightSpan=h3;exports.moduleSidecarFilename=y6;exports.moverAnchorWorld=ie;exports.moverSidecarFilename=T6;exports.moverWorldAt=t1;exports.nearestTrackPoint=G3;exports.normaliseToHeatmapRange=h9;exports.normalizeXtsConfig=Y0;exports.pathLengthsMm=D3;exports.pickGlbForRail=A6;exports.poseToMatrix4=J1;exports.railSidecarFilename=x6;exports.registerPointCloud=lo;exports.resolveAttachedPlateType=W0;exports.resolveEntityFromObject=Qn;exports.resolveGuidingRailGlbUrl=O6;exports.resolveGuidingRailType=j2;exports.resolveHepcoGfxProfile=R6;exports.resolveMeasurementStyle=se;exports.resolveModuleGlbUrl=P6;exports.resolveMoverGlbUrl=ye;exports.resolveOriginCorrection=b6;exports.resolvePlateGlbUrl=Te;exports.resolveStopPositionMm=Y1;exports.resolveToolGlbUrl=S6;exports.sampleChainPoint=R1;exports.sampleChainRange=p1;exports.sampleModulePath=u1;exports.snapToGrid=i6;exports.sortHeatmapSamples=g9;exports.splitIntoFeedSegments=H5;exports.toModuleCollisionInputs=y5;exports.toolSidecarFilename=C6;exports.trackAnchorWorld=N3;exports.trackDistanceMm=e7;exports.trackLengthOf=Mo;exports.trackPolylineWorld=H3;exports.unregisterPointCloud=co;exports.useSidecarSource=I3;exports.userToChainPositionMm=K;exports.worldPointOnPart=h1;//# sourceMappingURL=index.cjs.map
|
|
8
8
|
//# sourceMappingURL=index.cjs.map
|